Вы, наверное, ищете Tuple
.В случае C # 7.3+ вы можете попробовать использовать именованные кортежи :
https://docs.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 # без имени один:
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>
, а List<T>
, добавьте .ToList()
после .OrderBy(...)