Какой код лучше? Работа с реестром
Цитата: Senior от 27.10.2020, 23:49Первый вариант:
readonly string user = @"HKEY_CURRENT_USER"; readonly string adv = @"SOFTWARE\Microsoft\Windows\CurrentVersion\AdvertisingInfo"; readonly string key = user + "\\" + adv; void Test() { Registry.SetValue(key,"Enabled", 0); }Второй вариант:
readonly string adv = @"SOFTWARE\Microsoft\Windows\CurrentVersion\AdvertisingInfo"; void Test() { Registry.CurrentUser.CreateSubKey(adv).SetValue("Enabled", 0); }Зависит ли скорость выполнения? и какой код из этих двух считается дублирующим?
Какой код по вашему мнению лучше?
Первый вариант:
readonly string user = @"HKEY_CURRENT_USER";
readonly string adv = @"SOFTWARE\Microsoft\Windows\CurrentVersion\AdvertisingInfo";
readonly string key = user + "\\" + adv;
void Test()
{
Registry.SetValue(key,"Enabled", 0);
}
Второй вариант:
readonly string adv = @"SOFTWARE\Microsoft\Windows\CurrentVersion\AdvertisingInfo";
void Test()
{
Registry.CurrentUser.CreateSubKey(adv).SetValue("Enabled", 0);
}
Зависит ли скорость выполнения? и какой код из этих двух считается дублирующим?
Какой код по вашему мнению лучше?
Цитата: Сергей от 27.10.2020, 23:50Привет 🖐
Оба варианта отработают прекрасно.
Первый вариант лучше, когда Ты очень много действий в этой ветке делаешь, и нужно много разных параметров обработать.
Привет 🖐
Оба варианта отработают прекрасно.
Первый вариант лучше, когда Ты очень много действий в этой ветке делаешь, и нужно много разных параметров обработать.
Цитата: Senior от 27.10.2020, 23:58Цитата: Сергей от 27.10.2020, 23:50Привет
Оба варианта отработают прекрасно.
Первый вариант лучше, когда Ты очень много действий в этой ветке делаешь, и нужно много разных параметров обработать.Привет.
Полностью согласен)
Цитата: Сергей от 27.10.2020, 23:50Привет
Оба варианта отработают прекрасно.
Первый вариант лучше, когда Ты очень много действий в этой ветке делаешь, и нужно много разных параметров обработать.
Привет.
Полностью согласен)
Цитата: Senior от 28.10.2020, 00:08Кстати а в чём отличия const - readonly ? И из них что лучше выбрать, потому что на сайте майкрософт там вариант с const, но я использую readonly
Кстати а в чём отличия const - readonly ? И из них что лучше выбрать, потому что на сайте майкрософт там вариант с const, но я использую readonly
Цитата: Mikhail от 28.10.2020, 03:06Цитата: Senior от 28.10.2020, 00:08Кстати а в чём отличия const - readonly ? И из них что лучше выбрать, потому что на сайте майкрософт там вариант с const, но я использую readonly
Привет🖐
Если прям коротко, то readonly можно менять в конструктореЕсли подробно, то [simple_tooltip content='
Значения полей с модификатором
constпри компиляции подставляются в тех местах кода, где к ним происходит обращение. Это значит, что в случае, когда такое поле объявлено в классе одной сборки, а используется классами другой сборки, для того чтобы измененное значение было применено в зависимой сборке, потребуется перекомпиляция зависимой сборки. Задать значение можно только в момент объявления. В общем тоconst-поля это не совсем поля.Поля с модификатором
readonlyявляются полноценными полями, с той разницей, что изменять их значение разрешено только в конструкторе. Соответственноstatic readonly- в статическом конструкторе (код инициализации полей при объявлении переносится в конструктор компилятором). Таким образом, значенияreadonly-полей могут, например вычисляться на основе параметров переданных в конструктор, что невозможно дляconst-полей.В большинстве случаев рекомендуется использовать именно
readonly-поля вместоconst-полей когда ваш проект включает более одного модуля.']тут[/simple_tooltip]
Цитата: Senior от 28.10.2020, 00:08Кстати а в чём отличия const - readonly ? И из них что лучше выбрать, потому что на сайте майкрософт там вариант с const, но я использую readonly
Привет🖐
Если прям коротко, то readonly можно менять в конструкторе
Если подробно, то тут