2014-05-23 96 views
0

我已經Person的對象列表現在如何轉換對象的列表,以字符串列表

class Person 
{ 
    string FirstName{get;set;} 
    int Age {get;set;} 
} 

在這個Person對象名單

PERSON1有名字=「阿蘭」,年齡= 20

2個人有名字=「約瑟芬」,年齡= 21

我需要一個新的列表,其中每個列表項與年齡級聯的第一個名字

名單,我需要:

艾倫:20

約瑟芬:21

...等等

我有這個迄今爲止...

var PersonConcatenatedList= from p in PersonList 
          select new {firstName= p.FirstName, Age=p.Age}; 

錯誤...但現在如何輸出所需的列表格式? :(

任何幫助,將不勝感激感謝

回答

3

使用string.Join

var PersonConcatenatedList = PersonList 
          .Select(x => string.Join(":", x.FirstName, x.Age)); 

既然你需要一個字符串列表,你不應該創建ananymous types.Simple串concatanation也將工作:

PersonList.Select(x => x.FirstName + ":" + x.Age)); 

如果你想爲串輸出,然後用通過和concatanate與新行字符的結果:

var output = string.Join(Environment.NewLine, PersonConcatenatedList); 
+0

結果將是一個集合,所以你可以在UI每次迭代後格式化新的生產線。 –

+0

謝謝,那工作:) – user113981

1

String.Join()是一條路可走。但對於良好的編程,我建議實施.ToString()方法。

class Person 
{ 
    string FirstName { get; set; } 
    int Age { get; set; } 

    public override string ToString() 
    { 
     return this.FirstName + ":" + this.Age; 
    } 
} 

然後,只需使用以下命令:

var result = personList.Select(person => person.ToString()); 
相關問題