C# 从数组和引用数组编号中搜索字符串

C# 从数组和引用数组编号中搜索字符串,c#,arrays,C#,Arrays,我是C#新手,我正在尝试搜索字符串,以查看它是否包含字符串数组的成员。如果字符串确实包含数组中的内容,那么我想记录它找到的数组成员的索引号,然后显示它 string stringToBeSearched = "I want to find item2 or item6"; string[] array = { "item1", "item2", "item3" }; // Search stringToBeSearched for anything in array, then enter th

我是C#新手,我正在尝试搜索字符串,以查看它是否包含字符串数组的成员。如果字符串确实包含数组中的内容,那么我想记录它找到的数组成员的索引号,然后显示它

string stringToBeSearched = "I want to find item2 or item6";
string[] array = { "item1", "item2", "item3" };
// Search stringToBeSearched for anything in array, then enter the array 
// member's index value into int position
int position = //array index number of item found
Console.WriteLine("{0} was found.", array[position]);
Console.ReadLine();

您可以使用
IndexOf
将每个数组元素与
stringtobearch
进行比较

string stringToBeSearched = "I want to find item2 or item6";
string[] array = {"item1", "item2", "item3"};

int position;

for (int i = 0; i < array.Length; i++) {
    string str = array[i];

    if (stringToBeSearched.IndexOf(str) >= 0) {
        position = i;
        Console.WriteLine("{0} was found.", str);
        Console.ReadLine();
    }
}

// Result: 
// item2 was found.
string-stringtobearch=“我想查找项目2或项目6”;
字符串[]数组={“item1”、“item2”、“item3”};
内部位置;
for(int i=0;i=0){
位置=i;
WriteLine(“{0}已找到。”,str);
Console.ReadLine();
}
}
//结果:
//找到项目2。

请注意,这将找到第一个匹配的字符串。如果有多个,您将不知道其他的。

使用Linq和泛型的方法

using System;
using System.Collections.Generic;
using System.Linq;

class Program
{
    public static void Main(String[] args)
    {
       string[] array1 = "I want to find item2 or item6".Split(' ');
       string[] array2 = {"item1", "item2", "item6"};

       IEnumerable<string> results = array1.Intersect(array2,
                                                     StringComparer.OrdinalIgnoreCase);

       foreach (string s in results)
          Console.WriteLine("{0} was found at index {1}.", 
                            s, 
                            Array.IndexOf(array2, s));

    }
}
使用系统;
使用System.Collections.Generic;
使用System.Linq;
班级计划
{
公共静态void Main(字符串[]args)
{
string[]array1=“我想查找项目2或项目6”。拆分(“”);
字符串[]array2={“item1”、“item2”、“item6”};
IEnumerable results=array1.Intersect(array2,
普通木糖酶);
foreach(结果中的字符串s)
WriteLine(“{0}在索引{1}处找到。”,
s
数组.IndexOf(array2,s));
}
}
using System;
using System.Collections.Generic;
using System.Linq;

class Program
{
    public static void Main(String[] args)
    {
       string[] array1 = "I want to find item2 or item6".Split(' ');
       string[] array2 = {"item1", "item2", "item6"};

       IEnumerable<string> results = array1.Intersect(array2,
                                                     StringComparer.OrdinalIgnoreCase);

       foreach (string s in results)
          Console.WriteLine("{0} was found at index {1}.", 
                            s, 
                            Array.IndexOf(array2, s));

    }
}