查找通用列表中项目索引的简单方法

Ste*_*ers 1 c# generics lambda

我正在尝试获取字符串列表中的下一项(邮政编码).通常情况下,我只是预先找到它,然后在列表中找到下一个,但我试图比那更直观和紧凑(更多的是一项运动而不是任何东西).

我可以用lambda轻松找到它:

List<string> postalCodes = new List<string> { "A1B", "A2B", "A3B" };
currentPostalCode = "A2B";
postalCodes.Find((s) => s == currentPostalCode);
Run Code Online (Sandbox Code Playgroud)

哪个很酷,所有,我正确得到"A2B",但我更喜欢索引而不是值.

Tom*_*cek 9

您可以使用该IndexOf方法(这是泛型List<T>类的标准方法):

List<string> postalCodes = new List<string> { "A1B", "A2B", "A3B" }; 
currentPostalCode = "A2B"; 
int index = postalCodes.IndexOf(currentPostalCode); 
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请参阅MSDN.