我有一个方法需要创建一个包含根键的子键名称的数组,然后我需要另一个数组来保存所有这些子键中的值。我的困境是如何创建一个多维数组,其中包含多个数组?
到目前为止我的代码:
private void registryArrays() {
//Two string arrays for holding subkeys and values
string[] subKeys;
string[] values = new string[];
//reg key is used to access the root key CurrentUsers
RegistryKey regKey = Registry.CurrentUser;
RegistryKey regSubKey;
//Assign all subkey names from the currentusers root key
subKeys = regKey.GetSubKeyNames();
for (int i = 0; i < subKeys.Length; i++) {
regSubKey = regKey.OpenSubKey(subKeys[i]);
values[i] = regSubKey.GetValueNames();
}
}
我不知道如何解决这个问题,因为GetValueNames()会给我一个数组,但我需要得到多个数组,因为for循环会迭代我的根键的子键,所以我怎么把所有数组成一个数组?
答案 0 :(得分:0)
您不需要多个阵列。使用字典可能会更好。对于前者;
RegistryKey regKey = Registry.CurrentUser;
var console = regKey.OpenSubKey("Console");
var dict = console.GetValueNames()
.ToDictionary(key => key, key => console.GetValue(key));
foreach (var kv in dict)
{
Console.WriteLine(kv.Key + "=" + kv.Value);
}