1
我觉得这很简单,但我似乎无法弄清楚。OrderBy索引其他列表
如果我有这样的:
public class Program
{
public static void Main()
{
TestClass test1 = new TestClass(){ID = 1, text = "STRING ONE"};
TestClass test2 = new TestClass(){ID = 2, text = "STRING TWO"};
TestClass test3 = new TestClass(){ID = 3, text = "STRING THREE"};
TestClass test4 = new TestClass(){ID = 4, text = "STRING FOUR"};
List<TestClass> lstTestClasses = new List<TestClass>();
lstTestClasses.Add(test1);
lstTestClasses.Add(test2);
lstTestClasses.Add(test3);
lstTestClasses.Add(test4);
List<string> lstCategories = new List<string>() { "STRING TWO", "STRING ONE", "STRING THREE"};
var orderStrings = lstTestClasses.OrderBy(x => lstCategories.IndexOf(x.text)).ToList();
foreach(var item in orderStrings)
{
Console.WriteLine(item.text);
}
// Output:
STRING FOUR
STRING TWO
STRING ONE
STRING THREE
}
}
public class TestClass
{
public int ID { get; set; }
public string text { get; set; }
}
我怎么STRING FOUR
来最后,而不是第一个,因为它不是在lstCategories
包括在内?
任何帮助表示赞赏。
那么,是什么的'-1'变成与'int.MaxValue'? –
@BviLLe_Kid'-1'小于'0',所以如果'IndexOf'返回'-1',那么'OrderBy'将会接收'int.MaxValue'。 – Abion47
我得到那部分,我只是问'int.MaxValue'的值是什么? –