Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从列表_C#_Linq - Fatal编程技术网

C# 从列表

C# 从列表,c#,linq,C#,Linq,我有一个定义如下的类: class A { int contractID; string name; string blah; etc... } 列表中存储了多个ClassA。我需要根据列表中的所有缩略语创建一个列表。在LINQ中有没有一种方法可以这样做而不是遍历列表?您可以使用extension方法创建压缩的投影。比如: var listOfClass = new List<ClassA>(); //Or however you get your list. var co

我有一个定义如下的类:

class A
{
 int contractID;
 string name;
 string blah;
 etc...
}
列表中存储了多个ClassA。我需要根据列表中的所有缩略语创建一个列表。在LINQ中有没有一种方法可以这样做而不是遍历列表?

您可以使用extension方法创建压缩的投影。比如:

var listOfClass = new List<ClassA>(); //Or however you get your list.
var contractIDs = listOfClass.Select(x => x.contractID).ToList();
var only contractids=myList.Selectx=>x.contractID.ToList

Select是一种通用方法。如果显式指定,则为Select,指定输入和输出类型


最后的ToList将IEnumerable转换为List,它现在在输入列表上进行迭代,而不是在枚举IEnumerable时进行迭代。

如果您有一个列表,您可以使用LINQ创建一个列表,如下所示

List<int> contractIDs = mycollection.Select(a => a.ContractID).ToList();
List<int> contractIDs = mycollection.Select(a => a.ContractID).ToList();
var list = new List<ClassA>();
...            
list.Select(a => a.ContractID);