如何将字符串添加到...
List<int> mapIds = new List<int>();
mapIds.Add(36);
mapIds.Add(37);
mapIds.Add(39);
是一个带有整数的列表.....我想为每个记录添加字符串...尝试...
List<int, string> mapIds = new List<int, string>();
mapIds.Add(36, "hi");
mapIds.Add(37, "how");
mapIds.Add(39, "now");
告诉我未知类型的变量?
答案 0 :(得分:4)
List<T>
是T
类型的对象的通用列表。
如果您希望在此列表中配对<int, sting>
,则不应为List<int, string>
,而应为List<Some_Type<int, string>>
。
可能的一种方法 - 使用Tuple<T1, T2>
作为这种类型。
类似的东西:
var mapIds = new List<Tuple<int, string>>();
mapIds.Add(new Tuple<int, string>("36", "hi"));
或者您可以使用Dictionary<TKey, TValue>
代替list,但在这种情况下,您的整数值应该是唯一的。
答案 1 :(得分:4)
您可以使用Dictionary而不是List。例如:
Dictionary<int, string> dictionary = new Dictionary<int, string>();
dictionary.Add(36, "hi");
了解更多信息: Dictionary Type on MSDN
答案 2 :(得分:2)
您可以创建一个类:
class Custom
{
public int myInt {get;set;}
public string myString {get;set}
}
然后:
List<Custom> mapIds = new List<Custom>();
Custom c = new Custom();
c.myInt = 36;
c.myString="hi";
mapIds.Add(c);
....
...
答案 3 :(得分:0)
您还可以使用HashTable或SortedList作为词典的另一个选项。这两个类都在System.Collections命名空间
中Hashtable使您可以存储任何类型对象的键/值对。数据根据密钥的哈希码存储,并且可以通过密钥而不是索引来访问。 例如:
Hashtable myHashtable = new Hashtable();
myHashtable.Add(1, "one");
myHashtable.Add(2, "two");
myHashtable.Add(3, "three");
SortedList是一个包含键/值对的集合,但与HashTable不同,因为它可以被索引引用并且因为它是有序的。 例如:
SortedList sortedList = new System.Collections.SortedList();
sortedList.Add(3, "Third");
sortedList.Add(1, "First");
sortedList.Add(2, "Second");