DataTable users_table = db.GetRows("SELECT * FROM users");
int rowCount = users_table.Rows.Count;
int columnCount = users_table.Columns.Count;
Dictionary<int, Dictionary<string, string>> baskets = new Dictionary<int, Dictionary<string, string>>();
for (int i = 0; i < rowCount; i++)
{
baskets.Add(i, new Dictionary<string, string>());
for (int j = 0; j < columnCount; j++)
{
var colName = (users_table.Columns[i].ColumnName).ToString();
var colValue = users_table.Rows[i][j].ToString();
baskets[i].Add(colName, colValue);
Response.Write(baskets[i]["user_id"].ToString());
}
}
이것은 내가 가진 오류입니다.DataTable에서 aspx에 다차원 사전을 만드는 방법은 무엇입니까?
ArrgumentException이 baskets [i]에서 사용자 코드에 의해 처리되지 않았습니다 .Add (colName, colValue);
An exception of type 'System.ArgumentException' occurred in mscorlib.dll but was not handled in user code
Additional information: An item with the same key has already been added.
내가 뭘 잘못하고있어? 나는 그것을 디버그하고 "i", "colName"및 "colValue"값이 올바른지. 왜 그것이 내게 오류가되는지 모르겠다. 나는 .net 프로그래밍에서 초보자입니다
'사전'.NET에서 멱등'Add'와'Set' 작업을 허용하지 않습니다 (달리 위해 트릭을 할 수있는이
같은 코드 뭔가을 할 것입니다 C++의'map', 또는 PHP와 Python의 연상 배열). 그래서 두 경우를 다르게 처리해야합니다. – Dai