Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/302.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# Linq OrderBy字符串_C#_Linq - Fatal编程技术网

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