Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在字典(dictionary<;Key,list<;var>;)的列表中添加变量#_C#_List_Dictionary_Unity3d_Collections - Fatal编程技术网

C# 在字典(dictionary<;Key,list<;var>;)的列表中添加变量#

C# 在字典(dictionary<;Key,list<;var>;)的列表中添加变量#,c#,list,dictionary,unity3d,collections,C#,List,Dictionary,Unity3d,Collections,这是我想要的 pc组件集合 然后分组到pc组件,如ram、存储器、gpu、cpu、psu等,它们是关键 然后每一个内部都有多个相同类型的对象 前。 ram->kingston,adata,hyperx | storage->WD,segate 你明白了吗 我的问题是如何在列表中添加值 将intel(var)添加到cpu(列表)到pc组件(集合)的示例 在java中很容易做到这一点,因为下面是在Map中实现这一点的方法 Map<Key,List<string>> map =

这是我想要的

pc组件集合 然后分组到pc组件,如ram、存储器、gpu、cpu、psu等,它们是关键 然后每一个内部都有多个相同类型的对象

前。 ram->kingston,adata,hyperx | storage->WD,segate 你明白了吗

我的问题是如何在列表中添加值

将intel(var)添加到cpu(列表)到pc组件(集合)的示例

在java中很容易做到这一点,因为下面是在Map中实现这一点的方法

Map<Key,List<string>> map = new Hashmap<key,object>();
map.put(pcComp.ComponentType).add("kingston");
Map Map=newhashmap();
map.put(PCcomponent.ComponentType).add(“kingston”);
但是在C#unity中,你会把键和值都放在这里

Components.Add(pcComp.ComponentType,new List<>)
Components.Add(PCcomponent.ComponentType,新列表)
顺便说一句,
pccomponent.ComponentType
是一个枚举

如果列表中有内容呢


新列表
无法正常工作,因为它将被替换?

根据@jdweng和@Events 你可以这样做

Components[pcComp.ComponentType].Add(pcComp.name);
可以将集合和arraylist视为普通数组

不像java

Arraylist.get(0) ir Arraylist.add(var)

错误的解释sry idk如何表达:)新列表myList=新列表();添加(PCcomponent.ComponentType,新列表);myList.Add(“abc”);在哪里添加abc并不重要。myList就像一个指针,可以在构造函数之后的任何位置添加值。但是如果集合列表中有值呢?它会被替换的,对吗@jdwengmyList[“cpu]”。添加(someCpu);这将添加一个cpu而不删除其他cpu。哦,你可以将arraylist和集合视为普通数组??什么!谢谢你当时的帮助!!,我来自java,这就是为什么idk有可能正确地使用TryGetValue来实现安全和快速的代码,但你有这个想法。