2010-08-06 204 views
1

的名單說我有一個類:獲取所有值的屬性對象

public class theclass 
{ 
    public string a; 
    public string b; 
    public string c; 
} 

是。這是一個糟糕的課程。繼續。假設我有這個類的100個數值數組。 linq有沒有一種快速的方法來獲得一個字符串列表的所有值的數組內容的b?

+0

「我有一個類」) – 2010-08-06 15:07:46

+0

你不是應該的地方騎着沙蟲? *咧嘴笑* – quillbreaker 2010-08-06 15:09:21

回答

5
TheClass[] myClasses = GetTheArray(); 

List<string> = myClasses.Select(c => c.A).ToList(); 

(我改變了你的類/屬性名PascalCase,按照coding standard convention

+0

嗯,這不是我們使用的編碼標準。不同的商店使用不同編碼標準。我們並不都是喝MS的助手。 – 2010-08-06 15:10:31

+3

@ Muad'Dib:即使它違背了整個BCL?在這種情況下,我會高興地喝上「kool-aid」。 – 2010-08-06 15:16:15

+1

@fearofawhackplanet - 我知道這是迂腐,但他確實要求b的值,而不是一個;) - 抱歉,無法抗拒:) – 2010-08-06 15:36:09

2
var valuesForB = yourArray.Select((arrayMember) => arrayMember.b); 
3

是的。

IEnumerable<string> bValues = myArray.Select(myClass => myClass.b); 
+0

我知道這很迂腐,但他確實要求一個'名單'...... – fearofawhackplanet 2010-08-06 15:08:55

+0

你是對的,這是迂腐。 – nukefusion 2010-08-06 15:26:24

+0

好,如果他不知道'Select',他可能也不知道'ToList',所以在這個例子中值得包括。 – fearofawhackplanet 2010-08-06 15:42:27