作者bens951 (Ben)
看板C_Sharp
标题[问题] dictionary用法
时间Sat Dec 5 00:07:28 2009
请问我如果想存一个矩阵
假设矩阵是
|1 1 0|
|0 0 0|
|1 0 1|
那我宣告
Dictionary<int, Dictionary<int, int>> matrix = new Dictionary<int,
Dictionary<int, int>>();
Dictionary<int, int> col = new Dictionary<int, int>();
先将每一行存入col,再存入matrix
col.Clear();
col.Add(1, 1);
col.Add(3, 1);
matrix.Add(1, col);
e_col.Clear();
e_col.Add(1, 1);
evaluation.Add(2, e_col);
e_col.Clear();
e_col.Add(3, 1);
evaluation.Add(3, e_col);
for (int i = 1; i <= 3; i++)
{
for (int j = 1; j <= 3; j++)
{
if (matrix.ContainsKey(i))
{
if (matrix[i].ContainsKey(j))
{
Console.WriteLine(matrix[i][j]);
}
}
}
}
但输出好像不是我想的这样,请问各位我哪里做错了?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.116.245.197
1F:→ a761007:dictionary不是这样用的= = 12/05 10:45
2F:→ a761007:他就如其名 一个key对应到某个东东 = hash table一样 12/05 10:47
3F:→ bens951:我的想法是想说建立两层的DICTIONARY然後KEY代表哪一列哪 12/05 13:40
4F:→ bens951:一行,VALUE代表矩阵里的值,试问这样是否可做到 12/05 13:41
5F:→ a761007:那就是要这样dictionary<int,dictionary<int,int>> xxx; 12/05 17:08
6F:→ a761007:你是怎样不是你想要的结果? 是0没印出来? 你要自己给值喔 12/05 17:15