Assmae Ответов: 1

Как проверить, существует ли строковый путь в реестре C#


Всем привет !

У меня есть словарь "жало, строка", где я храню ключи и их пути, и я хочу, чтобы

проверьте, существуют ли эти пути уже в реестре, это мой словарь :

<pre> public static Dictionary<string, string> AllRegKeys = new Dictionary<string, string>()
        {
            {"clientId", "MyApp\\credentials\\Identif"},
            {"clientSecret", "MyApp\\credentials\\Identif"},
            {"Key 1", "MyApp\\credentials\\Identif"},
            {"key 2 ", "MyApp\\credentials\\Identif"},
            {"using link ", "MyApp\\credentials\\Folder"},
            {"category", "MyApp\\credentials\\Hub\\Cat"},
            {"link1", "MyApp\\credentials\\Settings\\link"},
            {"link2", "MyApp\\credentials\\Settings\\link"},
            {"link3", "MyApp\\credentials\\Settings\\link"},
        };


Что я уже пробовал:

я попытался зациклиться на словаре и попытаться сравнить значения и существующие пути в реестре, но я застрял здесь :

foreach (KeyValuePair<string, string> entry in ConstantsField.AllRegKeys)
            {
                if(entry.Value== )
            }

1 Ответов

Рейтинг:
1

OriginalGriff

Если вы хотите увидеть, существует ли одно значение, вам не нужен явный цикл:

if (AllRegKeys.Values.Contains("MyApp\\credentials\\Folder"))
    {
    Console.WriteLine("Exists");
    }

Если вам нужны значения, которые уже есть, из списка "новых" значений:
Dictionary<string, string> AllRegKeys = new Dictionary<string, string>()
    {
        {"clientId", "MyApp\\credentials\\Identif"},
        {"clientSecret", "MyApp\\credentials\\Identif"},
        {"Key 1", "MyApp\\credentials\\Identif"},
        {"key 2 ", "MyApp\\credentials\\Identif"},
        {"using link ", "MyApp\\credentials\\Folder"},
        {"category", "MyApp\\credentials\\Hub\\Cat"},
        {"link1", "MyApp\\credentials\\Settings\\link"},
        {"link2", "MyApp\\credentials\\Settings\\link"},
        {"link3", "MyApp\\credentials\\Settings\\link"},
    };
List<string> findThese = new List<string>() { "MyApp\\credentials\\Folder", "MyApp\\credentials\\Identifu", "MyApp\\credentials\\Settings\\link" };
List<string> existing = AllRegKeys.Values.Intersect(findThese).ToList();


Assmae

Привет !, на самом деле я хочу проверить, существуют ли они в реестре

F-ES Sitecore

Вы можете легко найти это с помощью поиска в google

https://www.google.com/search?q=c%23 + проверка + реестр+ключ+существует