Существует почти нет разницы между ними. Назначение поля будет происходить внутри конструктора в обоих случаях. Однако существует разница в том, как это работает по отношению к конструкторам базового класса. Возьмите следующий код:
class Base
{
public Base()
{
}
}
class One : Base
{
string test = "text";
}
class Two : Base
{
string test;
public Two()
{
test = "text";
}
}
В этом случае конструктор базового класса будет вызываться после назначения поля в классе One
, но до назначения в классе Two
.