none
LINQ 可否查詢 2D Array? RRS feed

  • 問題

  • int[][] hello = {
                {0,5,9,0},
                {0,3,0,7},
                {0,0,2,0},
                {0,4,0,0}
     };

    如何使用LINQ query count 有多少個大於 3 ?
    2009年12月8日 下午 12:26

解答

  • Hi,

    Try it
                int[][] hello = {
                                    new int[]{0,5,9,0},
                                    new int[]{0,3,0,7},
                                    new int[]{0,0,2,0},
                                    new int[]{0,4,0,0}
                                };
                var linq = from ary in hello
                           select  ary.Where (aryItem=>aryItem >3).Select(aryItem => aryItem ).Count ();
                foreach (int aryCount in linq)
                {
                    Console.WriteLine(aryCount.ToString ());
                }


    謙卑學習,持之以恆,才能不斷的Level Up http://www.dotblogs.com.tw/larrynung/
    • 已標示為解答 CP903 2009年12月9日 上午 01:55
    2009年12月8日 下午 02:03
  • int[][] ary = new int[][] { 
        new int[] { 10, 1, 2 }, 
        new int[] { 3, 4, 5 }, 
        new int[] { 6, 3, 8 } 
    };
    var total = (
        from items in ary select items.Count(element => element >= 3)
    ).Sum();
    • 已標示為解答 CP903 2009年12月9日 上午 01:55
    2009年12月8日 下午 03:17

所有回覆

  • Hi,

    Try it
                int[][] hello = {
                                    new int[]{0,5,9,0},
                                    new int[]{0,3,0,7},
                                    new int[]{0,0,2,0},
                                    new int[]{0,4,0,0}
                                };
                var linq = from ary in hello
                           select  ary.Where (aryItem=>aryItem >3).Select(aryItem => aryItem ).Count ();
                foreach (int aryCount in linq)
                {
                    Console.WriteLine(aryCount.ToString ());
                }


    謙卑學習,持之以恆,才能不斷的Level Up http://www.dotblogs.com.tw/larrynung/
    • 已標示為解答 CP903 2009年12月9日 上午 01:55
    2009年12月8日 下午 02:03
  • int[][] ary = new int[][] { 
        new int[] { 10, 1, 2 }, 
        new int[] { 3, 4, 5 }, 
        new int[] { 6, 3, 8 } 
    };
    var total = (
        from items in ary select items.Count(element => element >= 3)
    ).Sum();
    • 已標示為解答 CP903 2009年12月9日 上午 01:55
    2009年12月8日 下午 03:17