我有一个字符串
string str="hello";
Run Code Online (Sandbox Code Playgroud)
这是我的阵列
string[] myarr = new string[] {"good","Hello", "this" , "new"};
Run Code Online (Sandbox Code Playgroud)
我需要从数组中找到"hello"的索引(不使用循环)
所以我用过
int index = Array.IndexOf(myarr, str);
Run Code Online (Sandbox Code Playgroud)
这返回-1,但我期待结果为1.
我甚至试过StringComparer.OrdinalIgnoreCase但没有用.
希望有人能提供帮助.谢谢.
小智 35
意识到 !!标记的答案可能有一些问题,比如
string array[] = {"hello", "hi", "bye" , "welcome" , "hell"}
Run Code Online (Sandbox Code Playgroud)
如果您使用与答案中描述的相同方法来查找单词"hell"的索引
Int Indexofary = Array.FindIndex(array, t => t.IndexOf("hell", StringComparison.InvariantCultureIgnoreCase) >=0);
Run Code Online (Sandbox Code Playgroud)
你会得到结果Indexofary = 0而不是4.
而不是那种用途
Array.FindIndex(array, t => t.Equals("hell", StringComparison.InvariantCultureIgnoreCase));
Run Code Online (Sandbox Code Playgroud)
得到正确的结果.
Rrgards比特
既然你正在寻找索引.试试这种方式.
Array.FindIndex(myarr, t => t.IndexOf(str, StringComparison.InvariantCultureIgnoreCase) >=0);
Run Code Online (Sandbox Code Playgroud)
Array.IndexOf 调用区分大小写的默认“Equals”方法。尝试这个:
Array.FindIndex(myarr, t => t.Equals(str, StringComparison.InvariantCultureIgnoreCase))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14269 次 |
| 最近记录: |