Как оптимизировать обновление Dictionary в цикле foreach?

221
30 сентября 2018, 05:20
class JsonProject
{
    public string Name;
    public List<string> ListQuery = new List<string>();
    ....
}
class JsonHelper
{
    internal static object ReadJsonFile(string path)
    {
        throw new NotImplementedException();
    }
}
class MyClass
{
    public Dictionary<string, JsonProject> DictProject = new Dictionary<string, JsonProject>();
    public void UpdateDict(string AppProjectPath)
    {
        foreach (string path in Directory.EnumerateFiles(AppProjectPath))
        {
            var project = (JsonProject)JsonHelper.ReadJsonFile(path);
            if (DictProject.ContainsKey(project.Name))
                DictProject[project.Name] = project;
            else DictProject.Add(project.Name, project);
        }
    }
}

Хочу оптимизировать - записать по другому эту часть кода:

if (DictProject.ContainsKey(project.Name))
    DictProject[project.Name] = project;
else DictProject.Add(project.Name, project);
Answer 1

Замените

if (DictProject.ContainsKey(project.Name))
    DictProject[project.Name] = project;
else DictProject.Add(project.Name, project);

на

DictProject[project.Name] = project;
READ ALSO
Можно ли использовать VideoCapture вместо Capture

Можно ли использовать VideoCapture вместо Capture

Пишу программу на C# по распознаванию речи (MicrosoftSpeech

215
Как указать профиль браузера Chrome в Silenium WebDriver C#

Как указать профиль браузера Chrome в Silenium WebDriver C#

В браузере Chrome присутствуют разные профили пользователя, мне необходимо при создании экземпляра ChromeDriver запустить именно браузер под пользователя...

184
Проброс события из библиотеки C# .NET

Проброс события из библиотеки C# .NET

Пишу простое приложение для захвата видеопотока с IPкамеры на винформах используя фреймворк AForgeЧто бы код не был свалкой, вынес многие вещи...

216
Снятие ЭЦП на C# с xml

Снятие ЭЦП на C# с xml

Подскажите пожалуйста кто сталкивался со снятием ЭЦП на C#

233