2016-03-02 46 views
-3

我有這樣的名單:如何從特定項目的列表<string>獲取索引?

List<string> headers = new List<string>(); 
headers.Add("Red"); 
headers.Add("Blue"); 
headers.Add("Green"); 
headers.Add("Black"); 

而且我有這樣的功能:

private int getColorIndex(string colorName , List<string> headers) 
{ 
    int index = LINQ; 
} 

getColorIndex功能我想寫LINQ,從標題列表返回特定顏色的指數(以colorName變量) 。

例如,如果colorName爲指數值將是3

colorName可以包含或大或小的字母。

例如:

colorName = Black or colorName = black 

任何想法,我怎麼可以這樣寫LINQ?

+3

'List .IndexOf'?你爲什麼想用LINQ來做這個? – Dennis

+0

雖然... – Ian

+1

'列表 .FindIndex()'請參閱https://msdn.microsoft.com/en-us/library/0k601hd9.aspx –

回答

3

你不需要LINQ。 List有一個FindIndex方法。它需要一個謂詞並返回匹配的第一個元素的索引。在謂詞中,您可以使用String.Equals比較字符串,並使用StringComparison參數忽略大小寫。

private int getColorIndex(string colorName , List<string> headers) 
{ 
    int index = headers.FindIndex(s => String.Equals(s, colorName, StringComparison.InvariantCultureIgnoreCase)); 
} 
+0

不區分大小寫 –

+0

@AlexanderDerck錯過了,更新了答案。謝謝 – Domysee

相關問題