在一维数组中可以用 indexof  然后找出所在的位置,那么二维数组中用什么来查所在的位置?
循环对比当然可以查,不过这样耗费资源。

解决方案 »

  1.   

    string[,] array = new string[4, 4];var result= from str in array.Cast<string>()
         where int.Parse(str) > 1
         select str;
      

  2.   

    private static IEnumerable<T> F<T>(T[,] array, int row)
            {
                return from col in Enumerable.Range(array.GetLowerBound(1), array.GetLength(1))
                       select array[row, col];
            }
      

  3.   

    int [,] array = new int [2,2];  
    var p= from i in array.Cast< int >() where i > 2 select i;   
    var value = from v in array [i] select v;
    int s = Array.FindIndex(value.ToArray(), v => v.Equals(value.Max()));
      

  4.   


                int[,] arr = new int[2, 3] {{1,2,3},{4,5,6} };            int rows = arr.GetLength(0);
                int cols = arr.GetLength(1);            var p = from i in arr.Cast<int>() select i;            int[] tmparr = p.ToArray<int>();            int k = 5;            int index = Array.IndexOf(tmparr, k);            int ii = index / cols;
                int jj = index % cols;
                Console.WriteLine("index is {0},{1}", ii, jj);
      

  5.   

    貌似 indexof 原理 也是数组遍历
      

  6.   

    遍历比较慢,还是用indexof比较好。