Рассмотрим следующий код:struct S
{
private string blah;
public S(string blah)
{
this.blah = blah;
}
public void Frob()
{ // whatever
}
}Следующий код будет работать: S s1 = new S();
s1.Frob();Каждая струкура имеет конструктор по умолчанию, в котором все поля иницилизируются со значениями по умолчанию. А как насчет этого кода?S s2;
s2.Frob();Похоже, мы увидем ошибку "Use of unassigned local variable 's2'". Интересной особенностью C# компилятора является тот факт, что ошибка присвоения будет выдана лишь в том случае, если структура компилируется с исходного кода. В случае, если структура находится в подключенной библиотеке, ошибка не будет выдана! Рассмотрим другой пример: Read more: Microsoft User Group
{
private string blah;
public S(string blah)
{
this.blah = blah;
}
public void Frob()
{ // whatever
}
}Следующий код будет работать: S s1 = new S();
s1.Frob();Каждая струкура имеет конструктор по умолчанию, в котором все поля иницилизируются со значениями по умолчанию. А как насчет этого кода?S s2;
s2.Frob();Похоже, мы увидем ошибку "Use of unassigned local variable 's2'". Интересной особенностью C# компилятора является тот факт, что ошибка присвоения будет выдана лишь в том случае, если структура компилируется с исходного кода. В случае, если структура находится в подключенной библиотеке, ошибка не будет выдана! Рассмотрим другой пример: Read more: Microsoft User Group
0 comments:
Post a Comment