我想将几个字符串属性组合成一个字符串,以使排序和显示更容易。我想知道是否有一种方法可以做到这一点,而不必遍历类的集合或列表。下面的 Person 类中的 FullName 之类的东西。
public class Person
{
public string Last {get;set;}
public string First {get;set;}
public string FullName = Last + ", " + First {get;}
}
我想将几个字符串属性组合成一个字符串,以使排序和显示更容易。我想知道是否有一种方法可以做到这一点,而不必遍历类的集合或列表。下面的 Person 类中的 FullName 之类的东西。
public class Person
{
public string Last {get;set;}
public string First {get;set;}
public string FullName = Last + ", " + First {get;}
}
像这样更新您的课程:
public class Person
{
public string Last { get; set; }
public string First { get; set; }
public string FullName
{
get
{
return string.Format("{0}, {1}", First, Last);
}
}
}
除了您的问题,我还建议实现该ToString()
方法的覆盖(您的问题提到使显示更容易),因为大多数 UI 技术将使用它作为显示对象的默认方式。
public override string ToString()
{
return FullName;
}
public string FullName {
get{
return Last + ", " + First;
}
}
当然:
public string FullName
{
get
{
return FirstName + ", " + LastName;
}
}
为什么不?
public string FullName
{
get { return Last + ", " + First; }
}
是的。你可以在你的类中使用一个属性来做同样的事情。甚至微软也建议在一个类中创建一个 void 方法,它只是将类的字段作为属性而不是方法进行简单的操作。
尝试这个:
public string FullName
{
get
{
return Last + " " + First;
}
}
public string Fullname
{
get
{
return string.Format("{0}, {1}", Last, First);
}
set
{
string[] temp = value.Split(',');
Last = temp[0].Trim();
First = temp[1].Trim();
}
}
使用字符串插值,因为它简单易行;)
public class ApplicationUser
{
public string FirstName { get; set; }
public string LastName { get; set; }
public string FullName
{
get
{
return $"{FirstName} {LastName}";
}
}
}