这语文……
string[] s={"11","22","33"};
string a="22";
int i,count=s.Length;
for(i=0;i<count;i++)
{
if(s[i].Equals(a))
break;
}
// i就是你要的
// 上一个为s[i-1]
// 下一个为s[i+1]
// 注意判断越界

解决方案 »

  1.   

    Array.FindIndex方法using System;public class Example
    {
        public static void Main()
        {
            string[] dinosaurs = { "Compsognathus", 
                "Amargasaurus",   "Oviraptor",      "Velociraptor", 
                "Deinonychus",    "Dilophosaurus",  "Gallimimus", 
                "Triceratops" };        Console.WriteLine();
            foreach(string dinosaur in dinosaurs)
            {
                Console.WriteLine(dinosaur);
            }        Console.WriteLine(
                "\nArray.FindIndex(dinosaurs, EndsWithSaurus): {0}", 
                Array.FindIndex(dinosaurs, EndsWithSaurus));        Console.WriteLine(
                "\nArray.FindIndex(dinosaurs, 2, EndsWithSaurus): {0}",
                Array.FindIndex(dinosaurs, 2, EndsWithSaurus));        Console.WriteLine(
                "\nArray.FindIndex(dinosaurs, 2, 3, EndsWithSaurus): {0}",
                Array.FindIndex(dinosaurs, 2, 3, EndsWithSaurus));
        }    // Search predicate returns true if a string ends in "saurus".
        private static bool EndsWithSaurus(String s)
        {
            if ((s.Length > 5) && 
                (s.Substring(s.Length - 6).ToLower() == "saurus"))
            {
                return true;
            }
            else
            {
                return false;
            }
        }
    }/* This code example produces the following output:Compsognathus
    Amargasaurus
    Oviraptor
    Velociraptor
    Deinonychus
    Dilophosaurus
    Gallimimus
    TriceratopsArray.FindIndex(dinosaurs, EndsWithSaurus): 1Array.FindIndex(dinosaurs, 2, EndsWithSaurus): 5Array.FindIndex(dinosaurs, 2, 3, EndsWithSaurus): -1
     */
      
    *****************************************************************************
    欢迎使用CSDN论坛阅读器 : CSDN Reader(附全部源代码) 
    http://www.cnblogs.com/feiyun0112/archive/2006/09/20/509783.html
      

  2.   

    string str="239";
            string[] s ={ "sadf", "r43io", "gerio", "239", "reag" };
            int i;
            for (i = 0; i < s.Length; ++i)
                if (s[i].Equals(str))
                    break;
    再判断i的边界就知道它的上一位和下一位了