此问题已有答案 here
我试图在我的应用程序中使用元组。所以我想区分元组、字典和列表。
Dictionary<int, string> dic = new Dictionary<int, string>();
Tuple<int, string> tuple = new Tuple<int, string>();
List<int> list = new List<int>();
这三者有什么区别?
最佳答案
首先,AFAIK,没有需要两个类型参数的列表 - 所以你的列表可以是 List<int>
或 List<string>
(或 SortedList<int,string>
,但这是一个不同的类)。
A Tuple<T1, T2>
保存两个值 - 在这种情况下,一个 int 和一个字符串。
您可以使用元组将项目(可能是不同类型的)绑定(bind)在一起。
这在许多情况下可能很有用,例如,您想从方法中返回多个值。
我个人讨厌Item1
, Item2
属性名称,所以我可能会在我的代码中使用围绕元组的包装类。
A Dictionary<TKey, TValue>
是KeyValuePair<TKey, TValue>
的合集.
字典将键映射到值,例如,您可以拥有一个人的字典,并且每个人都有他们的 SSN 作为键。
A List<T>
是T
的合集.
您可以使用索引获取单个项目,Find
方法,或者简单的 linq (因为它实现了 IEnumerable<T>
)
关于C# - 元组和字典和列表有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45294491/