的分配顺序不被运行时保证。这就是编译器以编译时错误警告你的原因。
如果FullName
是公共财产,你能够做到:
class Employee
{
public string FirstName { get; }
public string LastName { get; }
public string FullName => $"{FirstName} {LastName}";
}
对于任何不使用C#-6:
class Employee
{
public string FirstName { get; private set; }
public string LastName { get; private set; }
public string FullName
{
get { return string.Format("{0} {1}", FirstName, LastName); }
}
}
或者,如果你不希望它是公开的,你需要通过类的构造函数实例化字段
class Employee
{
public Employee(string firstName, string lastName)
{
FirstName = firstName;
LastName = lastName;
fullName = $"{FirstName} {LastName}";
}
public string FirstName { get; }
public string LastName { get; }
private string fullName;
}
使其属性 – singsuyash
我设置的值已初始化变量
前OCDing使用'String'类而不是'string'; P –
@YuvalItzchakov我应该使用** string **而不是** String **,但它已经成为使用java的一种习惯:) – jeroen