我有2本字典。如何将 DerivedClass 字典分配给 DerivedClass 字典?
下面的代码不起作用?
我怎样才能改变它?
public class BaseClass
{
public void DoWork() { }
public int WorkField;
public int WorkProperty
{
get { return 0; }
}
}
public class DerivedClass : BaseClass
{
public new void DoWork() { }
public new int WorkField;
public new int WorkProperty
{
get { return 0; }
}
}
class Program
{
static void Main(string[] args)
{
var derivedclass = new Dictionary<string, DerivedClass>();
var baseClass = new Dictionary<string, BaseClass>();
Dictionary<string, BaseClass> AAA = derivedclass;
Console.ReadKey();
}
}
Run Code Online (Sandbox Code Playgroud)
您不能直接转换字典,但可以创建一个新字典,如下所示:
Dictionary<string, BaseClass> AAA =
derivedclass.ToDictionary(
k => k.Key,
v => (BaseClass)v.Value);
Run Code Online (Sandbox Code Playgroud)