まず最初に、int[,]
はジャグ配列ではなく2次元配列です。
それはそれとして、
Dictionary<int[,],double[]> dict= new Dictionary<int[,],double[]>(); とするなら、このDictionaryのKeyは特定の整数の二次元配列であり、試したことをこちらにあわせるとするなら、
csharp
1
2using System;
3using System.Collections.Generic;
4
5namespace TestBench
6{
7 class Program
8 {
9 static void Main(string[] args)
10 {
11 Dictionary<int[,], double[]> dict = new Dictionary<int[,], double[]>();
12 int[,] key = new int[0, 0];
13 double[] value = new double[] { 1.0, 2.0 };
14 dict.Add(key, value);
15
16 var ret = dict[key][1];
17
18 //2.0が出てくる。
19 Console.WriteLine(ret.ToString("F1"));
20 }
21 }
22}
23
このように、Keyに指定した多次元配列を使う必要があります。
これとは逆に、2次元配列の要素として1次元配列の倍精度浮動小数点型を取りたいのなら(これは、試したいことを実現することになります)
csharp
1
2using System;
3using System.Collections.Generic;
4
5namespace TestBench
6{
7 class Program
8 {
9 static void Main(string[] args)
10 {
11 //5*5の2次元配列の要素が任意の倍精度浮動小数点型の1次元配列
12 double[,][] area = new double[5, 5][];
13
14 area[0, 0] = new double[] {1.0, 2.0};
15
16 var ret = area[0, 0][1];
17
18 //2.0を出力
19 Console.WriteLine(ret.ToString("F1"));
20 }
21 }
22}
23
このようになるかと。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/05/26 17:34
2017/05/26 23:29