如何创建在C#中包含不同类型的字典类型?

问题描述

我想为字典定义一种类型,该类型将不同的类型保存为值。实际上,我在寻找How do I create a Dictionary that holds different types in C#,但寻找的是immutable dict类型,而不是字典“变量”。

假设我有一本代表用户数据的字典

using System.Collections.Immutable;

var immutableUserVariable = new Dictionary<string,object>
        {
            { "Id",0 },{ "FirstName","Annett" },{ "LastName","Jones"},{ "Active",true}
        }.ToImmutableDictionary();

隐式推断类型如下(.NET interactive的输出):

|    key    |      type      |  value |
|:---------:|:--------------:|:------:|
| LastName  | System.String  | Jones  |
| Active    | System.Boolean | True   |
| FirstName | System.String  | Annett |
| Id        | System.Int32   | 0      |

我可以在如下所示的不可变列表中使用该用户

var immutableUserList = new[] { immutableUserVariable }.ToImmutableList();
immutableUserList

但是,除了创建字典变量immutableUserVariable之外,我想为该自定义的,不可变的字典(User)创建一个类型,该类型可以用来创建变量。这将允许我使用特定的dict类型创建列表,例如


var immutableListBuilder = ImmutableList.CreateBuilder<User>();
// add dicts of type User
immutableListBuilder.Add(...);
immutableListBuilder.Add(...);

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)