【发布时间】:2021-02-14 06:35:17
【问题描述】:
这就是我想要的
个人电脑组件的集合 然后分组到 ram、storage、gpu、cpu、psu 等 PC 组件。他们是关键 那么它们的每个内部都有多个相同类型的对象
例如。 ram->金士顿,adata,hyperx |存储->WD,隔离 你明白了
我的问题是如何在列表中添加值
示例将 intel(var) 添加到 cpu(list) 到 pc components(collection)
在 java 中很容易做到这一点,因为这是你在 Map 中的做法
Map<Key,List<string>> map = new Hashmap<key,object>();
map.put(pcComp.ComponentType).add("kingston");
但在 C# 统一中,您将像这样同时放置键和值
Components.Add(pcComp.ComponentType,new List<>)
顺便说一句,pcComp.ComponentType 是一个枚举
如果列表中有内容怎么办
new List<> 无法正常工作,因为它会被替换?
【问题讨论】:
-
不好的解释 sry idk 如何表达这个:)
-
新列表
myList = new List (); Components.Add(pcComp.ComponentType,new List); myList.Add("abc");在哪里添加 abc 并不重要。 myList 就像一个指针,可以在构造函数之后的任何位置添加值。 -
但是如果集合列表中有值怎么办?它会被替换吗? @jdwengspan>
-
myList["cpu].Add(someCpu); 这将添加一个 cpu 而不会删除其他 cpu。
-
哦,您可以将arraylist 和collection 视为普通数组吗?什么!?谢谢你的帮助!!,我来自 java 这就是为什么 idk 那可能
标签: c# list dictionary unity3d collections