我有一个定义如下的类:
class A
{
int contractID;
string name;
string blah;
etc...
}
多个列表存储在ClassA ()中。并根据列表中的所有ContractID创建一个列表。在LINQ中有没有一种方法可以做到这一点,而不是遍历List()?
发布于 2012-01-04 06:10:39
您可以使用Select
扩展方法来创建contractID的投影。像这样:
var listOfClass = new List<ClassA>(); //Or however you get your list.
var contractIDs = listOfClass.Select(x => x.contractID).ToList();
发布于 2012-01-04 06:11:21
var onlyContractIDs = myList.Select(x => x.contractID).ToList()
发布于 2012-01-04 06:12:54
List<ClassA> input = ...;
List<int> output = input.Select(a => a.contractID).ToList();
Select
是一个泛型方法。显式指定时,它将为Select<ClassA, int>
,指定输入和输出类型。
最后的ToList()
从IEnumerable<int>
转换为List<int>
,它现在对输入列表进行迭代,而不是在枚举IEnumerable<int>
时进行迭代。
https://stackoverflow.com/questions/8719325
复制相似问题