2010-08-06 206 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