2012-09-23 169 views
1

我想將幾個字符串屬性合併爲一個字符串,以使排序和顯示更容易。我想知道是否有辦法做到這一點,而不必遍歷集合或類的列表。類似於下面的Person類中的FullName。是否有可能創建一個類屬性是其他屬性的組合?

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

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

回答

6

更新您的類像這樣:

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; 
} 
+0

我最喜歡這個,但是你不小心換掉了First and Last – SLoret

3
public string FullName { 
    get{ 
    return Last + ", " + First; 
    } 
} 
3

肯定的:

public string FullName 
{ 
    get 
    { 
     return FirstName + ", " + LastName; 
    } 
} 
+2

這個問題是一個很好的例子,代表高代表比起代表低代表的人更容易獲得高票價。 :) – aquinas

+0

@aquinas是真的,它的奇怪,看看有些答案得到更多的投票,即使他們是完全相同的其他人 – Thousand

+0

它被稱爲社會證明。 http://en.wikipedia.org/wiki/Social_proof。作爲人類的一部分。 –

2

爲什麼不呢?

public string FullName 
{ 
    get { return Last + ", " + First; } 
} 
1

試試這個:

public string FullName 
    { 
      get 
      { 
       return Last + " " + First;  
      }   
     } 
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(); 
    } 
} 
1

是。你可以在你的課堂上使用一個屬性來做同樣的事情。即使微軟建議在類中做一個無效方法,只需要將類的字段作爲屬性而不是方法進行簡單的操作。

相關問題