带有字符串和数字的 C# 列表或数组
C# List or Array with String and Number
创建包含字符串和数字的数组或列表的最佳方法是什么?
使用字典可以这样做:
Dictionary < string, int > dict = new Dictionary < string, int > ();
但是 Array 或 List 有更好的方法吗?
我需要它来存储IP地址和对应的端口号。
最佳方式取决于您的用例。但这里有一个简单的方法。
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>();
由于哈希表是建立在它之上的;如果您要搜索内容以查找特定键,词典 是更快的方法。
var list = new Dictionary<string, int>();
Key/Value 对的列表需要解析每个条目,每个 "KeyValuePair" 也就是说,检查它是否包含特定的键。在添加越来越多的条目时,这将导致略微呈指数级的性能损失。
var list = new List<KeyValuePair<string, int>>();
创建包含字符串和数字的数组或列表的最佳方法是什么?
使用字典可以这样做:
Dictionary < string, int > dict = new Dictionary < string, int > ();
但是 Array 或 List 有更好的方法吗?
我需要它来存储IP地址和对应的端口号。
最佳方式取决于您的用例。但这里有一个简单的方法。
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>();
由于哈希表是建立在它之上的;如果您要搜索内容以查找特定键,词典 是更快的方法。
var list = new Dictionary<string, int>();
Key/Value 对的列表需要解析每个条目,每个 "KeyValuePair" 也就是说,检查它是否包含特定的键。在添加越来越多的条目时,这将导致略微呈指数级的性能损失。
var list = new List<KeyValuePair<string, int>>();