Полный плейлист доступен по ссылке: • Уроки C# • Лучшие урок... Эксклюзив для спонсоров ➜ / xpuct Если недоступна спонсорка ➜ boosty.to/xpuct #WindowsForms #WindowsForms #WindowsForms
Хех, в достаточно далёкие времена я только-только начинал и учился в том числе и по твоим урокам. Сейчас я мидл, а уведомления с твоего канала по прежнему вызывают теплые чувства)
Стоит записывать трюки. Мне нравится концентрация кода, без повторения, но чтобы это оставалось понятным и подлежащим какому-то принципу програмирования
Большое спасибо! Вчера смотрел, думал "ну да, такая мелочь, вряд ли где-то пригодится, но интересно". А буквально сегодня на работе как раз выпал удобный случай)
Концепция понравилась, думаю стоит сделать отдельную рубрику "Синтаксический сахар". А уже в самой рубрике сделать разбор старого кода, но уже с применением "сахара".
Пользуюсь подобным трюком иногда, правда в Basic4Android, когда не хочу несколько раз вызывать один и тот-же метод. Особенно если этот вызов где-то в большом цикле. Лучше 1 раз выделить статическую переменную и запомнить в неё, чем несколько раз напрягать процессор вычислениями.
Первая мысль была, когда код писался: почему не используется вспомогательная переменная? И тут бац - а это и есть та фишечка. А я-то думал, все всегда так пишут...
Это не просто тема, это полностью авторская переработка всего интерфейса Visual Studio, над которой Я работал 3 месяца. Тут не просто красиво, а полезно для глаз, подробнее об этом Я рассказывал в видео для спонсоров: ru-vid.comcommunity Тема, доп.материалы и эксклюзив становится доступным сразу, как становишься спонсором канала. Если недоступна спонсорка, весь дополнительный контент есть на Boosty ➜ boosty.to/xpuct
а можно перенести объявление переменной в скобку где происходит ее инициализация? вроде как область видимости позволяет... (минус строка и пара символов =)) object k = key.OpenSubKey(sub).GetValue(""))!=null&& key.OpenSubKey(k.ToString())!=null
Еще лучше будет использовать не object, а конкретный тип - так, во-первых, избавимся от преобразования типов, а во-вторых мы будем иметь функционал нужного нам типа. Очень конечно специфичная возможность, и зачастую делает код неочень читаемым.
Это не просто тема, это полностью авторская переработка всего интерфейса Visual Studio, над которой Я работал 3 месяца. Тут не просто красиво, а полезно для глаз, подробнее об этом Я рассказывал в видео для спонсоров: ru-vid.comcommunity Тема, доп.материалы и эксклюзив становится доступным сразу, как становишься спонсором канала. Если недоступна спонсорка, весь дополнительный контент есть на Boosty ➜ boosty.to/xpuct
Исходничек из памяти, который открыл сам. Если не верите, листаните вниз в комменты, Я не первый, кто открыл это методом тыка и догадкой возможности языка. Или Вы про Property Pattern? Если про него, то это не Шаблон свойств. Он просто в пример был приведён. И да, Урок 0 ясно гласит про Google.
Здорово, а главное логично. Правда, хотелось бы заглянуть "под капот", стоит ли овчинка выделки? То есть посмотреть в дебаггере, как на уровне инструкций отрабатывает тот и этот вариант. Когда-то еще в школе увлекался ассемблером (привет, ZX-spectrum!), откуда и узнал, что короткий код не всегда самый лучший.
Да нахер они нужны, эти ваши сахары? Как программистом на работу устроится? Вот главный и важный вопрос, а это всё странь бестолковая. Без работы это всё не имеет значения.
Так вы и не можете устроиться на работу потому что не знаете что такое синтаксический сахар!!! Если вы не знаете основы и не знаете как с ними работать, вы работу не найдёте! Хотя дворником наверно устроитесь.....
Разве не проще? Должно работать. key!.GetSubKeyNames() .Where(sub => key.OpenSubKey(sub)?.GetValue(string.Empty)?.ToString() is not null) .ToArray(); Ну да, фишка интересная, но реально бесполезная, вот за 7 лет ни разу не пригодилась. Чем то на замыкания смахивает, но они тоже мне нигде не пригодились еще.
Если бы работало, то да Создай 2 варианта и проверь У Меня, например, первый попавшийся .ai, который ссылается на Illustratоr.ai, которого нет в реестре.
@@XpucT у меня на скорую руку твой и мой вариант выдают одни и те же массивы, может мой реестр не такой убитый, но без фильтрации возвращает на 1000 объектов больше, чем с ней. Я уж сильно не погружался, но думаю есть варианты без повторений это сделать, кроме выноса переменной.
@@РустамХалимов-д3щ Твой вариант собрал 3368 вариантов, когда должно быть 929. Реестр, к слову, вообще ничем не убитый, стоит только Visual Studio, всё остальное портативное.
У Меня друг слегка перекостылял Твой вариант и таки получилось короче: using (var key = Registry.ClassesRoot.OpenSubKey("")) { key.GetSubKeyNames().Where(sub => key.OpenSubKey(key.OpenSubKey(sub).GetValue("")?.ToString() ?? ".") != null) .ToList().ForEach(x => { }); } Не сильно короче, но короче, а это было главное =)
Вроде такой вариант ничем не хуже key.GetSubKeyNames().Where(sub => { var k = key.OpenSubKey(sub).GetValue(""); return k != null && key.OpenSubKey(k.ToString()) != null; }).ToList().ForEach(x=>...);
Ты выложи кто желает поддержит. У тебя было в телеграмме. И это было хорошо только у меня была проблема. Я не мог выбрать больше сумму и после двух раз PayPal заблочил.
@@lisiger69 из-за всей этой ситуации, на RU-vid вообще непонятно, как работает спонсорка и доход. Ибо он как бы идёт, но его нет. И дело не только в выводе. Просто уже за три месяца баланс менялся. То 150 долларов, то 22. Вообще непонятно. Ждём, когда это всё кончится.