我想要检索数组的索引,但我只知道实际值的一部分。
例如,我在动态数组中存储作者名称,比如 "author = 'xyz'"。现在我想要找到包含它的数组项的索引,但我不知道值的部分。
如何做到这一点?
尝试使用Array.FindIndex(myArray, x => x.Contains("author"));
。
int i= Array.IndexOf(temp1, temp1.Where(x=>x.Contains("abc")).FirstOrDefault());
之前的回答仅适用于您已知要搜索的确切值-该问题说明只知道部分值。
Array.FindIndex(authors, author => author.Contains("xyz"));
这将返回第一个包含 "xyz" 的项目的索引。
static class ArrayExtensions
{
public static int FindIndex<T>(this T[] array, Predicate<T> match)
{
return Array.FindIndex(array, match);
}
}
使用方法
int[] array = { 9,8,7,6,5 };
var index = array.FindIndex(i => i == 7);
Console.WriteLine(index); // Prints "2"
我一开始没有仔细阅读问题,所以写了这个...
static class ArrayExtensions
{
public static int IndexOf<T>(this T[] array, T value)
{
return Array.IndexOf(array, value);
}
}
用法
int[] array = { 9,8,7,6,5 };
var index = array.IndexOf(7);
Console.WriteLine(index); // Prints "2"
Array
还是string[]
? - hunter