string [] str={"a","b","c","d","e","f","g","h"}
string s1="d"
就是说.  这个字符串s1是否存在这个数组str里..有没有办法把他很快查出来..除了用FOR遍历....高手指导`!!!

解决方案 »

  1.   

    遍历循环已经是最快的了:
    string[] str = { "a", "b", "c", "d", "e", "f", "g", "h" };
    foreach (string s in str)
    if (s == "d")
    Console.WriteLine("已找到" + s);
    Console.ReadKey();
      

  2.   

    能有多大的数组啊,要是很大,不知道是否SORT过。若SORT过,循环遍历应该不是最快的。
      

  3.   

    linq
                string [] str={"a","b","c","d","e","f","g","h"};
                string s1="d";            var query = from s in str where s.CompareTo(s1) == 0 select s;
      

  4.   


    void Main()
    {
      string [] str={"a","b","c","d","e","f","g","h"};
    string s1="d";
      Console.WriteLine(str.Count(s=>s.Equals(s1)) );
     }
      

  5.   


          string[] str = { "a", "b", "c", "d", "e", "f", "g", "h" };
          string s1 = "d";
          string s2 = str.FirstOrDefault(f => f == s1);
      

  6.   

    string [] str={"a","b","c","d","e","f","g","h"};
                string s1 = "i";
                if (str.Contains(s1))
                {
                    MessageBox.Show("存在"+s1);
                }