是否应使用转换特定类型的字符串的方法扩展字符串类型?
。NET开发的早期决定,将String标记为SEALED。表示它不能从它继承。
不仅为String添加了扩展方法,而且肯定从中受益。
对于您的情况,我会选择string first
,string last
。这些可能是字段或只读属性。有时您需要“第一名”,有时需要“第一名”。那是输出代码的主,而不是属于该类的东西。
如果确实需要,可以添加“ CombinedName1”和“ 2”属性,该方法返回一种格式或其他格式的结果。
我的建议,除非需要字符串,否则请勿在内部将名称视为字符串。
出于百万种原因,实际上是从an oldie but goodie开始
以及根据您有限的用例,我个人更喜欢的一种方法:
public class Person
{
private string LastName { get; set; }
private string FirstName { get; set; }
public string GetName(bool AsConcatenatedLastFirst = false)
{
if(AsConcatenatedLastFirst)
{
return $"{LastName}-{FirstName}";
}
else
{
return $"{FirstName} {LastName}";
}
}
}