Использование ключевого слова var в C#

Я часто использую var. Была visual-c# критика, что это снижает infer читабельность кода, но нет c-sharp аргументов в поддержку этого c#-language утверждения.

Правда, это может type-inference означать, что непонятно, с c#.net каким типом мы имеем дело. И .cs-file что? На самом деле в этом c#-language суть раздельного дизайна. Имея c# дело с интерфейсами, вы категорически visual-c# не заинтересованы в типе переменной. var идет c#-language гораздо дальше, правда, но csharp я думаю, что аргумент остается visual-c# тем же с точки зрения удобочитаемости: программиста .cs-file на самом деле должен интересовать c# не тип переменной, а скорее visual-c# то, что переменная делает. Вот c# почему Microsoft также называет .cs-file вывод типов «утиной типизацией».

Итак, что csharp делает переменная, когда c#.net я объявляю ее с помощью var? Легко, он .cs-file делает все, что говорит мне var IntelliSense. Любые рассуждения c#-language о C#, игнорирующие IDE, не var соответствуют действительности. На c# практике каждый код C# программируется c#-language в среде IDE, поддерживающей type-inference IntelliSense.

Если я использую c-sharp объявленную переменную var и type-inference не понимаю, для чего эта type-inference переменная, значит, в моем c-sharp коде что-то принципиально c#.net неправильное. var не является c-sharp причиной, она лишь делает infer видимыми симптомы. Не вините .cs-file посыльного.

Теперь команда c#-language C# выпустила руководство c-sharp по кодированию, в котором infer говорится, что var следует использовать c#-language только для захвата результата оператора .cs-file LINQ, создающего анонимный c-sharp тип (поскольку здесь у нас var нет реальной альтернативы visual-c# var). Ну, к черту это. До тех c-sharp пор, пока команда C# не предоставит c-sharp мне веских аргументов в пользу infer этого правила, я буду игнорировать .cs-file его, потому что, по моему var профессиональному и личному .cs-file мнению, это чистая чепуха. (Извините, у var меня нет ссылки на рассматриваемое c-sharp руководство.)

На самом деле, есть var некоторые (поверхностно) good explanations, почему c# вам не следует использовать infer var, но я все еще считаю, что visual-c# они в значительной степени var неверны. Возьмем пример «поисковости»: автор c#-language утверждает, что var затрудняет c#-language поиск мест, где используется csharp MyType. Верно. Как и интерфейсы. Собственно, зачем csharp мне знать, где используется .cs-file класс? Меня может больше type-inference интересовать, где он создается, и type-inference он по-прежнему будет доступен c# для поиска, потому что где-то c#-language его конструктор должен быть type-inference вызван (даже если это делается var косвенно, имя типа должно c#-language где-то упоминаться).

c#

type-inference

var

2022-05-16T06:31:19+00:00