Вот еще один способ: (все приведенные выше ответы верны)
import random
class Chromosome(object):
def __init__(self):
self.var1 = random.choice([x for x in range(1, 51)])
self.var2 = random.choice([x for x in range(51, 101)])
До C# 6 необходимо использовать "этого" конструктора в этом сценарии:
public SomeStruct(String stringProperty, Int32 intProperty) : this()
{
this.StringProperty = stringProperty;
this.IntProperty = intProperty;
}
Выполнение это называет конструктора по умолчанию и путем выполнения так, это инициализирует все поля, таким образом позволяя this
ссылаться в пользовательском конструкторе.
Редактирование: до C# 6, когда это начало быть законным; однако, в эти дни это было бы намного лучше как readonly struct
:
public readonly struct SomeStruct
{
public SomeStruct(string stringProperty, int intProperty)
{
this.StringProperty = stringProperty;
this.IntProperty = intProperty;
}
public string StringProperty { get; }
public int IntProperty { get; }
}