问题描述
我想为字典定义一种类型,该类型将不同的类型保存为值。实际上,我在寻找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 (将#修改为@)