C# 无法使用System.Linq.Dynamic进行排序
正如您在上面看到的,我正在尝试使用System.Linq.Dynamic library的扩展方法对其中一列进行简单排序。但它并没有被分类。当我将鼠标悬停在sas上时,我会看到项目按其原始顺序排列。有人能告诉我为什么吗?原来的sas变量仍然是无序的。您需要保存OrderBy的结果: 原始sas变量仍然是无序的。您需要保存OrderBy的结果:C# 无法使用System.Linq.Dynamic进行排序,c#,linq,C#,Linq,正如您在上面看到的,我正在尝试使用System.Linq.Dynamic library的扩展方法对其中一列进行简单排序。但它并没有被分类。当我将鼠标悬停在sas上时,我会看到项目按其原始顺序排列。有人能告诉我为什么吗?原来的sas变量仍然是无序的。您需要保存OrderBy的结果: 原始sas变量仍然是无序的。您需要保存OrderBy的结果: 并可能保存到列表或数组,以避免对每个enumeration@GrantWinney谢谢,它起作用了。但是当我调用.OrderByName时,它是否返回另一
并可能保存到列表或数组,以避免对每个enumeration@GrantWinney谢谢,它起作用了。但是当我调用.OrderByName时,它是否返回另一个IQueryable?如果是这样,那么为什么我没有因为没有赋值而得到任何编译错误?@Md.lbrahim,因为不使用函数的结果不是错误,您可能会得到警告,但我不确定。编译器将生成的唯一非赋值错误是在初始化变量之前尝试使用该变量。并且可能保存到列表或数组以避免对每个变量上的数据重新排序enumeration@GrantWinney谢谢,它起作用了。但是当我调用.OrderByName时,它是否返回另一个IQueryable?如果是这样,那么为什么我没有因为没有赋值而得到任何编译错误?@Md.lbrahim,因为不使用函数的结果不是错误,您可能会得到警告,但我不确定。编译器将生成的唯一非赋值错误是在初始化变量之前尝试使用该变量。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Linq.Dynamic;
namespace LinqTest
{
class Program
{
static void Main(string[] args)
{
List<Sample> sampleData = new List<Sample>()
{
new Sample{ ID=1, Name="V", Designation="Executive", JoiningDate=DateTime.Now.Date, Salary=45000M },
new Sample{ ID=2, Name="F", Designation="Executive", JoiningDate=DateTime.Now.Date, Salary=400M },
new Sample{ ID=3, Name="A", Designation="Boss", JoiningDate=DateTime.Now.Date, Salary=5000M },
new Sample{ ID=1, Name="D", Designation="Executive", JoiningDate=DateTime.Now.Date, Salary=2500M },
new Sample{ ID=1, Name="V", Designation="Executive", JoiningDate=DateTime.Now.Date, Salary=45000M }
};
IQueryable<Sample> sas = sampleData.AsQueryable<Sample>();
sas.OrderBy("Name");
}
}
}
var myOrderedSas = sas.OrderBy("Name");