Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 获取数组中特定项的索引_C#_Arrays - Fatal编程技术网

C# 获取数组中特定项的索引

C# 获取数组中特定项的索引,c#,arrays,C#,Arrays,我想检索数组的索引,但我只知道数组中实际值的一部分 例如,我在数组中动态地存储一个作者名,比如说“author='xyz'” 现在我想找到包含它的数组项的索引,因为我不知道值部分 如何做到这一点?您可以使用 编辑:我看到你有一个字符串数组,你可以使用任何代码来匹配,这里有一个简单的示例包含: var index = Array.FindIndex(myArray, row => row.Contains("Author='xyz'")); 也许您需要使用一个?tryArray.Find

我想检索数组的索引,但我只知道数组中实际值的一部分

例如,我在数组中动态地存储一个作者名,比如说“author='xyz'”
现在我想找到包含它的数组项的索引,因为我不知道值部分

如何做到这一点?

您可以使用

编辑:我看到你有一个字符串数组,你可以使用任何代码来匹配,这里有一个简单的示例包含:

 var index = Array.FindIndex(myArray, row => row.Contains("Author='xyz'"));

也许您需要使用一个?

try
Array.FindIndex(myArray,x=>x.Contains(“作者”)

前面的答案只有在您知道要搜索的确切值时才起作用-问题说明只有部分值已知

Array.FindIndex(authors, author => author.Contains("xyz"));
这将返回包含“xyz”的第一项的索引。

FindIndex扩展名


奖励:扩展索引 我第一次写这篇文章时没有正确阅读问题

static class ArrayExtensions
{
    public static int IndexOf<T>(this T[] array, T value)
    {
        return Array.IndexOf(array, value);
    }   
}

您使用的是
Array
还是
string[]
?这是一个string[],我想在Array中找到一些东西。Indexof(arrFilter,“author”)这里author不是完整值的一部分,而是完整值的一部分。可能的重复值也可以使其更易于使用和智能化。
Array.FindIndex(authors, author => author.Contains("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"