您可能正在寻找Tuple
。如果是 C# 7.3+,您可以尝试使用命名元组:
https://learn.microsoft.com/en-us/dotnet/csharp/tuples https://learn.microsoft.com/en-us/dotnet/csharp/tuples
public IEnumerable<(string, int)> TestL() {
return TestList
.GroupBy(s => s.Postion.ToUpper())
.Select(chunk => (NameDisplay: d.Key, Count: d.Count()))
.OrderBy(item => item.NameDisplay);
}
在较旧的 C# 版本中unnamed one:
public IEnumerable<Tuple<string, int>> TestL() {
return TestList
.GroupBy(s => s.Postion.ToUpper())
.Select(chunk => Tuple.Create(d.Key, d.Count()))
.OrderBy(item => item.Item1);
}
最后,您可以实现一个定制类:
public class MyClass {
public MyClass(string nameDisplay, int count) {
NameDisplay = nameDisplay;
Count = count;
}
public string NameDisplay {get; private set;}
public int Count {get; private set;}
}
...
public IEnumerable<MyClass> TestL() {
return TestList
.GroupBy(s => s.Postion.ToUpper())
.Select(chunk => new MyClass(d.Key, d.Count()))
.OrderBy(item => item.NameDisplay);
}
如果您不想退货IEnumerable<T>
but List<T>
, add .ToList()
after .OrderBy(...)