|           using System;            using System.Collections.Generic;             using System.Linq;             using System.Text;            namespace QxQ            {                 class Program                 {                     static void Main(string[] args)                     {                         Func<IEnumerable<int>, IEnumerable<int>                             , List<List<KeyValuePair<KeyValuePair<int, int>, int>>>> tblmaker;                                    tblmaker = new Func<IEnumerable<int>, IEnumerable<int>                            , List<List<KeyValuePair<KeyValuePair<int, int>, int>>>>(                             (IEnumerable<int> row, IEnumerable<int> col) =>                             {                                 List<List<KeyValuePair<KeyValuePair<int, int>, int>>> ret                                     = new List<List<KeyValuePair<KeyValuePair<int, int>, int>>>();                                 row.ToList().ForEach(i =>                                     {                                         List<KeyValuePair<KeyValuePair<int, int>, int>> rows                                             = new List<KeyValuePair<KeyValuePair<int, int>, int>>();                                        col.ToList().ForEach(j =>                                            {                                                 rows.Add(new KeyValuePair<KeyValuePair<int, int>, int>(                                                     new KeyValuePair<int, int>(i, j), i * j));                                             });                                         ret.Add(rows);                                     });                                 return ret;                             });                        List<List<KeyValuePair<KeyValuePair<int, int>, int>>> tbl                             = tblmaker(Enumerable.Range(1, 10), Enumerable.Range(1, 9));                        Console.WriteLine(tbl);                        Display(tbl);                         Console.ReadLine();                        /*            System.Collections.Generic.List`1[System.Collections.Generic.List`1[System.Colle             ctions.Generic.KeyValuePair`2[System.Collections.Generic.KeyValuePair`2[System.I             nt32,System.Int32],System.Int32]]]             ((1 . 1) 1)((1 . 2) 2)((1 . 3) 3)((1 . 4) 4)((1 . 5) 5)((1 . 6) 6)((1 . 7) 7)((1 . 8) 8)((1 . 9) 9)             ((2 . 1) 2)((2 . 2) 4)((2 . 3) 6)((2 . 4) 8)((2 . 5) 10)((2 . 6) 12)((2 . 7) 14)((2 . 8) 16)((2 . 9) 18)             ((3 . 1) 3)((3 . 2) 6)((3 . 3) 9)((3 . 4) 12)((3 . 5) 15)((3 . 6) 18)((3 . 7) 21)((3 . 8) 24)((3 . 9) 27)             ((4 . 1) 4)((4 . 2) 8)((4 . 3) 12)((4 . 4) 16)((4 . 5) 20)((4 . 6) 24)((4 . 7) 28)((4 . 8) 32)((4 . 9) 36)             ((5 . 1) 5)((5 . 2) 10)((5 . 3) 15)((5 . 4) 20)((5 . 5) 25)((5 . 6) 30)((5 . 7) 35)((5 . 8) 40)((5 . 9) 45)             ((6 . 1) 6)((6 . 2) 12)((6 . 3) 18)((6 . 4) 24)((6 . 5) 30)((6 . 6) 36)((6 . 7) 42)((6 . 8) 48)((6 . 9) 54)             ((7 . 1) 7)((7 . 2) 14)((7 . 3) 21)((7 . 4) 28)((7 . 5) 35)((7 . 6) 42)((7 . 7) 49)((7 . 8) 56)((7 . 9) 63)             ((8 . 1) 8)((8 . 2) 16)((8 . 3) 24)((8 . 4) 32)((8 . 5) 40)((8 . 6) 48)((8 . 7) 56)((8 . 8) 64)((8 . 9) 72)             ((9 . 1) 9)((9 . 2) 18)((9 . 3) 27)((9 . 4) 36)((9 . 5) 45)((9 . 6) 54)((9 . 7) 63)((9 . 8) 72)((9 . 9) 81)             ((10 . 1) 10)((10 . 2) 20)((10 . 3) 30)((10 . 4) 40)((10 . 5) 50)((10 . 6) 60)((10 . 7) 70)((10 . 8) 80)((10 . 9) 90)                         */                                    var tablemaker2 = new Func<IEnumerable<int>, IEnumerable<int>                        , List<List<KeyValuePair<KeyValuePair<int, int>, int>>>>((row, col) =>                             {                                 var ret = new List<List<KeyValuePair<KeyValuePair<int, int>, int>>>();                                row.ToList().ForEach(i =>                                {                                     var rows = new List<KeyValuePair<KeyValuePair<int, int>, int>>();                                    col.ToList().ForEach(j =>                                    {                                         rows.Add(new KeyValuePair<KeyValuePair<int, int>, int>(                                             new KeyValuePair<int, int>(i, j), i * j));                                     });                                     ret.Add(rows);                                 });                                 return ret;                             });                     }                    private static void Display(List<List<KeyValuePair<KeyValuePair<int, int>, int>>> tbl)                    {                         tbl.ForEach(list =>                             {                                 list.ForEach(pair =>                                     {                                         Console.Write("(({0} . {1}) {2})"                                             , pair.Key.Key, pair.Key.Value, pair.Value);                                     });                                 Console.WriteLine();                             });                     }                 }             }         |      
   
0 件のコメント:
コメントを投稿