带有字符串和数字的c#列表或数组

本文关键字:列表 数组 数字 字符串 | 更新日期: 2023-09-27 18:09:32

创建包含字符串和数字的数组或列表的最佳方法是什么?

对于Dictionary,可以这样做:

Dictionary < string, int > dict = new Dictionary < string, int > ();

,但有更好的方法与数组或列表?

我需要它来存储IP地址和相应的端口号

带有字符串和数字的c#列表或数组

最好的方法取决于您的用例。但这里有一个简单的方法。

var list = new List<Tuple<string, int>> {
    Tuple.Create("foo", 123),
    Tuple.Create("bar", 234),
};

如果你想要一个相关ip地址和端口的列表,我会为它创建一个专用类型。

struct Address {
    public string Ip;
    public int Port;
}
...
var list = new List<Address>();

由于它是建立在哈希表;Dictionary是一种更快的方法,如果您要搜索内容以找到某个键。

var list = new Dictionary<string, int>();

键/值对的列表需要解析每个条目,即每个"KeyValuePair",以检查它是否包含特定的键。当添加越来越多的条目时,这将导致轻微的指数级性能损失。

var list = new List<KeyValuePair<string, int>>();