我有一个优先列表
List<string> priority = new List<string>() {
"boss",
"Project owner",
"client",
"manager",
"client1",
"client2 ",
"Intern",
};
我想根据这个优先级对其他数组进行排序
List<string> arr = new List<string>(){ "client1", "boss", "manager" }
priority.Sort(arr);
它应该返回 ["boss", "manager", "client1"]
注意:可能还有其他项目不在优先级中,因此我们可以将它们放在最后。
最佳答案
在优先级列表
中,client 1
项目显然有一个额外的空间。但是,您可以根据优先级
列表中的索引对数组进行排序:
List<string> priority = new List<string>() {
"boss",
"Project owner",
"client",
"manager",
"client1",
"client2 ",
"Intern",
};
List<string> arr = new List<string>() { "client1", "boss", "manager" };
var result= arr.OrderBy(x => Array.IndexOf(priority.ToArray(), x)).ToList();
关于c# - 根据优先级数组对字符串数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74917757/