C# 我有多种值类型需要存储 他们都对应同一个唯一ID怎么做最好
案例:
A类型实例 B类型实例 C类型实例 都和一个ID相关
能不能做到类似
Dictionary
有类似的结构可以存储么 还是说必须构造一个结构体 然后Dictionary
不光有存储需求 索引也比较频繁
基于Monster 组和GPT的调写:
可以使用C#的泛型类Tuple来实现这个需求,Tuple可以将多个值封装在一起作为一个单元使用。你可以使用Dictionary<int, Tuple<A,B,C>>来存储这些值类型,其中键是唯一ID,而值是一个包含类型A、B、C的元组。
下面是一个示例代码:
Dictionary<int, Tuple<A,B,C>> dictionary = new Dictionary<int, Tuple<A,B,C>>();
// 添加一个元素
int id = 1;
A a = new A();
B b = new B();
C c = new C();
dictionary.Add(id, Tuple.Create(a, b, c));
// 获取元素
Tuple<A,B,C> tuple = dictionary[id];
A a_value = tuple.Item1;
B b_value = tuple.Item2;
C c_value = tuple.Item3;
使用元组的好处是它们是类型安全的,你可以使用Item1,Item2,Item3等属性来获取元组中的值。如果你希望使用一个自定义的数据结构,你可以创建一个新的类来封装A、B、C,这样你就可以使用Dictionary<int,D>来存储它们。
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!