我有一個字符串數組lines
,其中一個項目可能包含值Mister
或Misses
。數組包含元素,但IndexOf返回-1
var lines = "3.3. 3 - 3 88C Mister Molitor D For Ne Les Text".Split(' ');
Console.WriteLine(lines.Contains("Mister") || lines.Contains("Misses"));
返回true
。現在我想找到的Mister
,分別Misses
索引,使用
var index = lines.IndexOf("Mister");
(我沒有把代碼Misses
這裏簡單起見)
然而,指數總是是-1
(儘管項目存在於數組中)。所以,我想一定有什麼不同的嘗試(我甚至增加ToLower()
,但是這不能作爲lines.Contains()
otherwise'd返回false的原因):
var index = lines.FindIndex(x => x.ToLower() == "mister");
但仍...index = -1
。這真讓我抓狂!我們肯定有包含項目的數組,但我找不到索引。
「3.3 3 - 3 88C小姐莫利托d網元萊斯文本」這個字符串包含單詞「小姐」,但它不包含'先生'這個詞。 –
請注意'IndexOf'只是一個'string'的方法,但是在代碼中您使用的是字符串數組。你可能要查找的是數組的FindIndex。在var index = lines.FindIndex(x => x.ToLower()==「mister」);''爲我工作 –
@DanielHollinrake請仔細閱讀:'使用您的代碼,並使用'misses'而不是'mister' (爲了簡單起見,我沒有把這些代碼放在這裏)'。 「Misses」的處理方式與「Mister」完全相同。我知道這非常混亂,但我編輯了原始字符串,以便馬上清楚。 –