大家好大概这样的方程用两个array参数:targetarray,lookingfroarray,返回第二个在第一个里面的index?index=  findmyindex(targetarray,lookingfroarray);
有没有写好的class 或者方法 ? 

解决方案 »

  1.   

    就是想在一个 array 里面 找到另外一个 array 的 index
      

  2.   

    啊?

    是这样的 我有一个 数组 ,大概 里面有很多的元素, 然后 有另外 一个数组,长度不定,想从第一个数组里面 找到第二个数组,index 比如
    array1     {a,e,b,c,e,g,s,g,s,g,e,r,t,g,h,r,m,e,e,s,g,e,d,p}
    array2     {m,e}想找到 array2 (长度不定)在 array1  中的位置,
      

  3.   

    建议楼主:使用 hashtable 或 索引器 是明智的选择!
    因为你提出的是关于查询的问题,关于查询最好能设立键(key),根据键来查询值!1.hashtable 能根据 key 的值来访问 value 存放的对象。
    key=index    value=targetArray2.使用索引器示例。
    public class TargetArray
    {
    private int _Name;
    private string _Pwd;
    public int Name
    {
    get{return _Name;}
    set{_Name = value;}
    }
    public string Pwd
    {
    get{return _Pwd;}
    set{_Pwd = value;}
    }
    }
    public class LookingForArray
    {
    private ArrayList arr = new ArrayList();
    public void Add(TargetArray pTA)
    {
    arr.Add(pTA);
    }
    //Update,Delete,Remove,Clear等方法省略,请自己写完
    public TargetArray this[int index]
    {
    get{return (TargetArray)arr[index];}
    }
    }
      

  4.   

    就是一个数组是否包含另一个数组的所有元素吧
    这样描述应该比较清晰吧,呵呵
    楼主的array里的字母顺序是随机的吧
      

  5.   

    public int ArraySearch(Array AArray, Array ASubArray)
    {
        if (AArray == null || ASubArray == null) return -1;
        if (AArray.GetType() != ASubArray.GetType()) return -1;
        if (ASubArray.Length <= 0) return -1;
        int i = 0;
        for (int j = 0; j < AArray.Length; j++)
        {
            if (i >= ASubArray.Length - 1) return j - ASubArray.Length + 1;
            if (AArray.GetValue(j).Equals(ASubArray.GetValue(i)))
                i++;
            else i = 0;
        }
        return -1;
    }private void button1_Click(object sender, EventArgs e)
    {
        int[] ia = new int[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
        int[] ib = new int[] { 1, 2, 3 };
        Console.WriteLine(ArraySearch(ia, ib)); // 1
        char[] ca = new char[] { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' };
        char[] cb = new char[] { '8', '9'};
        Console.WriteLine(ArraySearch(ca, cb)); // 8
    }