在C#中,如果你想将字典(Dictionary)作为数组的一个元素。
方法1:直接声明字典数组
例如:
Dictionary<int, string>[] dictArray = new Dictionary<int, string>[3];
// 初始化字典数组的每个元素
for (int i = 0; i < dictArray.Length; i++)
{
dictArray[i] = new Dictionary<int, string>();
}
// 示例:向第一个字典添加元素
dictArray[0].Add(1, "One");
dictArray[0].Add(2, "Two");
方法2:使用List<Dictionary<TKey, TValue>>
如果你不确定数组的大小,或者想要更灵活地管理字典集合,可以使用List<Dictionary<TKey, TValue>>:
List<Dictionary<int, string>> dictList = new List<Dictionary<int, string>>();
// 添加一个新字典到列表中
dictList.Add(new Dictionary<int, string>());
dictList.Add(new Dictionary<int, string>());
// 示例:向第一个字典添加元素
dictList[0].Add(1, "One");
dictList[0].Add(2, "Two");
方法3:在数组中使用匿名类型或自定义类型封装字典
如果需要在数组中存储不同类型的对象,包括字典,你可以使用匿名类型或自定义类来封装字典:
// 使用匿名类型
var array = new {
Dict1 = new Dictionary<int, string> { { 1, "One" }, { 2, "Two" } },
Dict2 = new Dictionary<int, string> { { 3, "Three" }, { 4, "Four" } }
};
// 或者使用自定义类型
public class DictWrapper
{
public Dictionary<int, string> Dict { get; set; }
}
DictWrapper[] dictArray = new DictWrapper[2];
dictArray[0] = new DictWrapper { Dict = new Dictionary<int, string> { { 1, "One" }, { 2, "Two" } } };
dictArray[1] = new DictWrapper { Dict = new Dictionary<int, string> { { 3, "Three" }, { 4, "Four" } } };
方法4:使用元组(适用于简单的键值对)
对于简单的键值对集合,你可以使用元组(Tuple)或值元组(ValueTuple):
(Dictionary<int, string>, Dictionary<int, string>)[] dictTuples = new (Dictionary<int, string>, Dictionary<int, string>)[2];
dictTuples[0] = (new Dictionary<int, string> { { 1, "One" }, { 2, "Two" } }, null); // 示例:第一个位置存储一个字典,第二个为null或另一个字典等。
dictTuples[1] = (new Dictionary<int, string> { { 3, "Three" }, { 4, "Four" } }, null); // 同上。
C#中Dictionary数组用法
505

被折叠的 条评论
为什么被折叠?



