C#一个字符串列表根据一个方法获取列表元素的各个的排序优先级数字然后根据获取的数字排序
时间: 2024-03-12 16:48:10 浏览: 15
你可以使用 LINQ 的 `Select` 方法获取列表元素的排序优先级数字,然后再使用 `OrderBy` 方法根据数字排序。以下是示例代码:
```csharp
List<string> list = new List<string> { "foo", "bar", "baz" };
// 获取列表元素的排序优先级数字
var prioritized = list.Select(value => GetPriority(value));
// 根据数字排序
var sorted = prioritized.OrderBy(priority => priority);
// 输出排序后的列表元素
foreach (var item in sorted)
{
Console.WriteLine(item);
}
// 获取排序优先级数字的方法
int GetPriority(string value)
{
switch (value)
{
case "foo":
return 2;
case "bar":
return 1;
case "baz":
return 3;
default:
return 0;
}
}
```
输出结果为:
```
bar
foo
baz
```
其中,`GetPriority` 方法根据列表元素的值返回相应的排序优先级数字,这里只是一个示例,你需要根据实际需求编写相应的逻辑。