如何动态指定Linq OrderBy参数?

如何orderby使用我作为参数的值指定传递给参数的参数?

例如:

List<Student> existingStudends = new List<Student>{ new Student {...}, new Student {...}}

目前执行:

List<Student> orderbyAddress = existingStudends.OrderBy(c => c.Address).ToList();

而不是c.Address,我如何将其作为参数?

 string param = "City";

List<Student> orderbyAddress = existingStudends.OrderByDescending(c => param).ToList();

回答:

这是使用反射的可能性…

var param = "Address";    

var propertyInfo = typeof(Student).GetProperty(param);

var orderByAddress = items.OrderBy(x => propertyInfo.GetValue(x, null));

以上是 如何动态指定Linq OrderBy参数? 的全部内容, 来源链接: utcz.com/qa/398180.html

回到顶部