C# Linq OrderBy字符串
我有一个对象集合,我想按名称属性按字母顺序排序。 我尝试了以下方法:C# Linq OrderBy字符串,c#,linq,C#,Linq,我有一个对象集合,我想按名称属性按字母顺序排序。 我尝试了以下方法: List<Item> itemsToSort = dataProvider.Items.ToList(); List<Item> sortedItems = itemsToSort.OrderBy(x=>x.Name).ToList(); 查询是: measureStations = dataProvider.MeasureStations.ToList(); var orderedMeasur
List<Item> itemsToSort = dataProvider.Items.ToList();
List<Item> sortedItems = itemsToSort.OrderBy(x=>x.Name).ToList();
查询是:
measureStations = dataProvider.MeasureStations.ToList();
var orderedMeasureStations = measureStations.OrderBy(x => x.Name);
当查看orderedMeasureStations查询结果时,它如下所示:
以以下内容开头的条目:
F...
S...
a...
L...
因此,它显然不是按名称排序。我不知道您的
类度量设置将如何工作
什么是\u measureStation
,是这个
如果是,那么它应该看起来像,请注意,属性不能与其各自的私有成员具有相同的名称
public class MeasureStation
{
private int id;//private is optional as it is default
public int ID
{
get { return this.id; }
set { this.id = value; }
}
private String name;//private is optional as it is default
public String Name
{
get { return this.name; }
set { this.name = value; }
}
}
但是,它相当于具有自动属性的类:
public class MeasureStation
{
public int ID {get;set;}
public String Name {get;set;}
}
所以,我和他们两个都有冲突
private static void Main(string[] args)
{
List<MeasureStation> itemsToSort
= new List<MeasureStation>()
{
new MeasureStation() {ID = 01, Name = "Bbbb"},
new MeasureStation() {ID = 01, Name = "Aaaa"},
new MeasureStation() {ID = 01, Name = "Cccc"}
};
List<MeasureStation> sortedItems = itemsToSort.OrderBy(x => x.Name).ToList();
Console.WriteLine("******itemsToSort*****");
foreach (var item in itemsToSort)
Console.WriteLine(item.Name.ToString());
Console.WriteLine("******sortedItems*****");
foreach (var item in sortedItems)
Console.WriteLine(item.Name.ToString());
Console.ReadLine();
}
你确定吗?在我看来,这应该行得通,显示完整的代码。。您确定Name
是string
吗?您确定它们的顺序不正确吗?\u measureStation是measureStation的私有财产?oO'F'是测量站的原始顺序与测量站的原始顺序相同还是不同?也就是说,它实际上是以某种方式排序还是什么都不做。在任何情况下…向我们展示一些示例数据。。。
private static void Main(string[] args)
{
List<MeasureStation> itemsToSort
= new List<MeasureStation>()
{
new MeasureStation() {ID = 01, Name = "Bbbb"},
new MeasureStation() {ID = 01, Name = "Aaaa"},
new MeasureStation() {ID = 01, Name = "Cccc"}
};
List<MeasureStation> sortedItems = itemsToSort.OrderBy(x => x.Name).ToList();
Console.WriteLine("******itemsToSort*****");
foreach (var item in itemsToSort)
Console.WriteLine(item.Name.ToString());
Console.WriteLine("******sortedItems*****");
foreach (var item in sortedItems)
Console.WriteLine(item.Name.ToString());
Console.ReadLine();
}
******itemsToSort*****
Bbbb
Aaaa
Cccc
******sortedItems*****
Aaaa
Bbbb
Cccc