C# 在c中将一种类型转换为另一种类型#
我试图在字典中添加值。但我面临着铸造问题。 这里是我的示例代码C# 在c中将一种类型转换为另一种类型#,c#,dictionary,C#,Dictionary,我试图在字典中添加值。但我面临着铸造问题。 这里是我的示例代码 public class Column { public string Name { get; set; } } public class Table: Dictionary<string, Column> { } SortedDictionary<string, Table> tableSc = new SortedDictionary<st
public class Column
{
public string Name
{
get;
set;
}
}
public class Table: Dictionary<string, Column>
{
}
SortedDictionary<string, Table> tableSc = new SortedDictionary<string, Table>();
foreach (var table in item.Tables)
{
Dictionary<string, Column> col = new Dictionary<string, Column>();
foreach (var column in table.Fields)
{
Column value = new Column();
value.Name = column.Id;
col.Add(column.Id, value);
}
tableSc.Add(table.Id, (Table)col);
}
公共类列
{
公共字符串名
{
得到;
设置
}
}
公共类表:字典
{
}
SortedDictionary tableSc=新的SortedDictionary();
foreach(item.Tables中的var表)
{
Dictionary col=新字典();
foreach(table.Fields中的var列)
{
列值=新列();
value.Name=column.Id;
col.Add(column.Id,value);
}
表C.Add(表Id,(表)列);
}
在将表类型值添加到表C
字典中时,我遇到了以下异常
(tablec.Add(table.Id,(table)col);)
无法将“System.Collections.Generic.Dictionary`2[System.String,Column]”类型的对象强制转换为 键入“表格”。
有人能建议我如何解决这个问题吗?更改声明变量的方式
col
Table col = new Table(); // or another construtor
您的类表
继承自字典
,因此您不能将字典
的对象强制转换为其子类。使用:tableSc.Add(Table.Id,Table);如何将列转换为表