【发布时间】:2019-02-28 09:21:40
【问题描述】:
我想编写返回给我的 LINQ 新对象(字符串,整数)包含:
- 字符串(职位名称)
- int(位置计数)
输出:
PositionA 8
PostionB 12
PostionC 13
这是我目前所拥有的:
public List<string, int> TestL() //or IEnumerable?
{
var q1 = TestList.GroupBy(s => s.Postion.ToUpper())
.Select(d =>
{
return new
{
NameDisplay = d.Key,
Count = d.Count(s => s.PersonNR)
};
})
.OrderBy(g => g.Key);
return q1;
}
TestList 具有以下字段:Postion、PersonNR、City、LastName。所有字段都是string。
【问题讨论】:
-
你可能正在寻找一个命名元组 (docs.microsoft.com/en-us/dotnet/csharp/tuples): 你不能有
List<string, int>(在List<T>T只表示一个类型参数) 但List<(string, int)>(这里我们有两个属性的元组) -
您不能在
Select之后呼叫OrderBy(g => g.Key)- 不再有群组。通过NamedDisplay订购
标签: c# list linq linq-to-sql