如何在.Net 2.0中查找List中字符串的索引

时间:2014-11-14 05:53:43

标签: c#

我正在尝试获取List中字符串的索引号。我尝试了以下代码:

List<string> Markets = new List<string>() {"HKG", "TYO", "NSE", "STU", "FRA", "LON", "SIN", "MIL", "TSE", "ASX", "STO", "AEX", "MEX", "NSE", "EPA", "SWX", "CVE", "BRU", "SWX"};
int index = Markets.FindIndex("HKG");

出现以下错误:

  

最佳重载方法匹配&#39; System.Collections.Generic.List.FindIndex(System.Predicate&lt; string&gt;)&#39;有一些无效的论点   参数1:无法转换为&#39; string&#39;到&#39; System.Predicate&lt; string&gt;&#39;

知道如何让编译器喜欢这段代码吗?

P.S。我正在使用QuantShare的C#,应该是.Net 2.0

3 个答案:

答案 0 :(得分:7)

因为它是一个谓词,你应该插入一个lambda函数。

FindIndex(x => x == "HKG")

请参阅:http://www.dotnetperls.com/lambda

答案 1 :(得分:6)

使用IndexOf

int index = Markets.IndexOf("HKG");

答案 2 :(得分:1)

使用FindIndex:

    List<string> Markets = new List<string>() { "HKG", "TYO", "NSE", "STU", "FRA", "LON", "SIN", "MIL", "TSE", "ASX", "STO", "AEX", "MEX", "NSE", "EPA", "SWX", "CVE", "BRU", "SWX" };
    var index = Markets.FindIndex(a => a == "HKG");