Size: a a a

2021 November 11

ﺋﺋ

ﺋﻪﺯﺋﺰﺟﺎﻥ ﺋﺎﻳﯘﭖ... in С#
я тож так думал
источник

DB

Danil Borscht in С#
такое ощущение что это может отвалиться к хуям
источник

ﺋﺋ

ﺋﻪﺯﺋﺰﺟﺎﻥ ﺋﺎﻳﯘﭖ... in С#
чому?
источник

DB

Danil Borscht in С#
ну я однажды так написал
источник

DB

Danil Borscht in С#
но там я ебанушка
источник

DB

Danil Borscht in С#
там чет
источник

DB

Danil Borscht in С#
обосрался еф кор
источник

ШН

Шерзод Немножко Токс... in С#
Короч я почитал, и не понял, что ты имел ввиду. Рихтер как минимум пишет о разнице использования var и dynamic
источник

DB

Danil Borscht in С#
Всегда такой вопрос был, если юзать везде dynamic можно из шарпа превратить js?
источник

ШН

Шерзод Немножко Токс... in С#
Не путайте типы dynamic и var. Объявление локальной переменной как var является
синтаксическим указанием компилятору подставлять специальные данные из со-
ответствующего выражения. Ключевое слово var может использоваться только для
объявления локальных переменных внутри метода, тогда как ключевое слово dynamic
может указываться с локальными переменными, полями и аргументами. Вы не можете
привести выражение к типу var, но вы можете привести его к типу dynamic. Вы должны
явно инициализировать переменную, объявленную как var, тогда как переменную,
объявленную как dynamic, инициализировать нельзя. Больше подробно о типе var
рассказывается в главе 9.
источник

ШН

Шерзод Немножко Токс... in С#
Переходим к главе 9
источник

ШН

Шерзод Немножко Токс... in С#
Да, открой главу 9. КОРОЧЕ ТЫ НЕ ПРАВ
источник

ШН

Шерзод Немножко Токс... in С#
Блядь, тролль, заставил меня открыть эту книгу
источник

ШН

Шерзод Немножко Токс... in С#
Неявно типизированные
локальные переменные
В C# поддерживается возможность определения типа используемых в методе ло-
кальных переменных по типу используемого при их инициализации выражения:Неявно типизированные локальные переменные
249
private static void ImplicitlyTypedLocalVariables() {
 var name = "Jeff";
 ShowVariableType(name);    // Вывод: System.String
 // var n = null; // Ошибка
 var x = (String)null;      // Допустимо, хотя и бесполезно
 ShowVariableType(x);       // Вывод: System.String
 var numbers = new Int32[] { 1, 2, 3, 4 };
 ShowVariableType(numbers); // Вывод: System.Int32[]
 // Меньше символов при вводе сложных типов
 var collection = new Dictionary<String, Single>() { { "Grant", 4.0f } };
 // Вывод: System.Collections.Generic.Dictionary`2[System.String,System.Single]
 ShowVariableType(collection);
 foreach (var item in collection) {
   // Вывод: System.Collections.Generic.KeyValuePair`2
                         [System.String,System.Single]
   ShowVariableType(item);
 }
}

private static void ShowVariableType<T>(T t) {
 Console.WriteLine(typeof(T));
}
Первая строка кода метода ImplicitlyTypedLocalVariables вводит новую ло-
кальную переменную при помощи ключевого слова var . Чтобы определить ее тип,
компилятор смотрит на тип выражения с правой стороны от оператора присваивания
( = ). Так как "Jeff" — это строка, компилятор присваивает переменной name тип
String . Чтобы доказать, что компилятор правильно определяет тип, я написал уни-
версальный метод ShowVariableType . Он определяет тип своего аргумента и выводит
его на консоль. Для простоты чтения выводимые методом ShowVariableType значе-
ния я добавил в виде комментариев внутрь метода ImplicitlyTypedLocalVariables .
Вторая операция присваивания (закомментированная) в методе ImplicitlyType­
dLocalVariables во время компиляции привела бы к ошибке (ошибка CS0815:
невозможно присвоить значение null локальной переменной с неявно заданным
типом):
error CS0815: Cannot assign <null> to an implicitly-typed local variable
Дело в том, что значение null неявно приводится к любому ссылочному типу
или значимому типу, допускающему значение null . Соответственно, компилятор
не в состоянии однозначно определить его тип. Однако в третьей операции при-
сваивания я показал, что инициализировать локальную переменную с неявно
заданным типом значением null все-таки можно, если в явном виде указать тип
(в моем примере это тип String ). Впрочем, это не самая полезная возможность, так
как, написав String x = null; , вы получите тот же самый результат.250
Глава 9. Параметры
В четвертом примере в полной мере демонстрируется полезность локальных
переменных неявно заданного типа. Ведь без этой возможности вам бы потребова-
лось с обеих сторон от оператора присваивания писать Dictionary<String , Single> .
Это не просто увеличивает объем набираемого текста, но и заставляет редактировать
код с обеих сторон от оператора присваивания в случае, если вы решите поменять
тип коллекции или любой из типов обобщенных параметров.
В цикле foreach я также воспользовался ключевым словом var , заставив
компилятор автоматически определить тип элементов коллекции. Этот пример
демонстрирует пользу ключевого слова var внутри инструкций foreach , using
и for . Кроме того, оно полезно в процессе экспериментов с кодом. К примеру,
вы инициализируете локальную переменную с неявно заданным типом, взяв за
основу тип возвращаемого методом значения. Но в будущем может появиться не-
обходимость поменять тип возвращаемого значения. В этом случае компилятор
автоматически определит, что тип возвращаемого методом значения изменился,
и изменит тип локальной переменной! К сожалению, остальной код внутри ме-
тода, работающий с этой переменной, может перестать компилироваться — если
этот код обращается к членам в предположении, что переменная принадлежит
к старому типу.
В Microsoft Visual Studio при наведении указателя мыши на ключевое слово
var появляется всплывающая подсказка с названием типа, определяемого компи-
лятором. Функцию неявного задания типа локальных переменных в C# следует
источник

ШН

Шерзод Немножко Токс... in С#
задействовать при работе с методами, использующими анонимные типы. Они под-
робно рассматривают в главе 10.
Тип параметра метода при помощи ключевого слова var объявлять нельзя. Ведь
компилятор будет определять его, исходя из типа аргументов, передаваемых при
вызове метода. Вызова же может вообще не быть или же, наоборот, их может быть
несколько. Аналогично, нельзя объявлять при помощи этого ключевого слова тип
поля. Для такого ограничения в C# существует множество причин. Одна из них —
возможность обращения к полю из нескольких методов. Группа проектирования C#
считает, что контракт (тип переменной) должен быть указан явно. Второй причиной
является тот факт, что в данном случае анонимные типы (обсуждаемые в главе 10)
начнут выходить за границы одного метода.
источник

Bod9i Коломеец... in С#
Всем привет

Кто-то знает, как получить через ADO.Net список параметров какой-нить процедуры или table-valued function?
источник

U

Username in С#
Гугл знает
источник

U

Username in С#
На стековерфлоу есть ответы на этот вопрос, они не работают?
источник

Bod9i Коломеец... in С#
Чёт не получилось нагуглить
Как ты гуглил?
источник

U

Username in С#
Ну такой открыл гугл и написал запрос
источник