gpt4 book ai didi

c# - List.OrderBy 定义变量中的顺序

转载 作者:行者123 更新时间:2023-12-02 15:44:54 25 4
gpt4 key购买 nike

我有一个包含对象的列表:

class MyType
{
String Name;
String Address;
DateTime BirthDay;
}

List<MyType> myList;

我想编写一个像这样工作的函数:

public void SortList(int value)
{
// orderValue => this is the variable I need
if (value == 0)
orderValue = MyType.Name; // Sort list by Name
else if (value == 1)
orderValue = MyType.Address; // Sort list by Address
else if (value == 1)
orderValue = MyType.BirthDay; // Sort list by BirthDay

if (orderValue != null)
{
List<MyType> sortedList = myList.OrderBy(orderValue).ToList();
if (Enumerable.SequenceEqual(myList, sortedList))
sortedList = myList.OrderByDescending(orderValue).ToList();
myList = sortedList;
}
}

如何编写 orderValue 以使此代码正常工作?

这只是我的代码的综合,如果需要,我可以提供更多详细信息。

最佳答案

OrderBy 可以接受 Func 并且你可以有这样的变量

Func<Person, string> orderFunc = x => x.Name;

if (value == 0)
orderFunc = x => x.Name;
else if (value == 1)
orderFunc = x => x.Address;

myList = myList.OrderBy(orderFunc).ToList();

关于c# - List.OrderBy 定义变量中的顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45210164/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com