3

我想将几个字符串属性组合成一个字符串,以使排序和显示更容易。我想知道是否有一种方法可以做到这一点,而不必遍历类的集合或列表。下面的 Person 类中的 FullName 之类的东西。

public class Person
{
    public string Last {get;set;}
    public string First {get;set;}

    public string FullName = Last + ", " + First {get;}
}
4

8 回答 8

9

像这样更新您的课程:

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;
}
于 2012-09-23T16:41:07.157 回答
3
public string FullName {
  get{
    return Last + ", " + First;
  }
}
于 2012-09-23T16:41:05.390 回答
3

当然:

public string FullName 
{
    get
    {
        return FirstName + ", " + LastName;
    }
}
于 2012-09-23T16:41:06.963 回答
2

为什么不?

public string FullName
{
    get { return Last + ", " + First; }
}
于 2012-09-23T16:41:10.857 回答
1

是的。你可以在你的类中使用一个属性来做同样的事情。甚至微软也建议在一个类中创建一个 void 方法,它只是将类的字段作为属性而不是方法进行简单的操作。

于 2012-09-23T16:45:18.830 回答
1

尝试这个:

  public string FullName 
     {
          get
            {
                return Last + " " + First;    
            }        
      }
于 2012-09-23T16:41:55.727 回答
1
public string Fullname
{
    get
    {
        return string.Format("{0}, {1}", Last, First);
    }
    set
    {
        string[] temp = value.Split(',');
        Last = temp[0].Trim();
        First = temp[1].Trim();
    }
}
于 2012-09-23T16:42:23.683 回答
0

使用字符串插值,因为它简单易行;)

    public class ApplicationUser
    {
        public string FirstName { get; set; }
        public string LastName { get; set; }


        public string FullName
        {
            get
            {
                return $"{FirstName} {LastName}";
            }
        }
    }
于 2020-10-18T10:56:42.230 回答