Вопросы с тегом «c#»

C # (произносится как «видеть резкое») - это статически типизированный, многопарадигмальный язык программирования высокого уровня, разработанный Microsoft. Код C # обычно нацелен на семейство инструментов и сред выполнения Microsoft .NET, в том числе .NET Framework, .NET Core и Xamarin. Используйте этот тег для вопросов о коде, написанном в формальной спецификации C # или C #.


4
Как преобразовать System.Type в его версию, допускающую значение NULL?
Еще раз один из тех: «Есть ли более простой встроенный способ делать что-то вместо моего вспомогательного метода?» Так что легко получить базовый тип из типа, допускающего значение NULL, но как мне получить версию типа .NET, допускающую значение NULL? Так что я typeof(int) typeof(DateTime) System.Type t = something; и я хочу …
79 c#  .net 

4
Как проверить, содержит ли Enum число?
У меня есть Enum вроде этого: public enum PromotionTypes { Unspecified = 0, InternalEvent = 1, ExternalEvent = 2, GeneralMailing = 3, VisitBased = 4, PlayerIntroduction = 5, Hospitality = 6 } Я хочу проверить, содержит ли это Enum число, которое я даю. Например: когда я даю 4, Enum содержит …
79 c#  .net  enums 

8
Ленивая загрузка против нетерпеливой загрузки
Ленивая загрузка в Entity Framework - явление по умолчанию, которое происходит при загрузке связанных сущностей и доступе к ним. Однако жадная загрузка относится к практике принудительной загрузки всех этих отношений. Я столкнулся с вопросом, в какой ситуации ускоренная загрузка может быть более выгодной, чем ленивая загрузка. Спрашиваем об этом, потому …

5
Guid.Parse () или new Guid () - в чем разница?
В чем разница между этими двумя способами преобразования строки в System.Guid? Есть ли причина предпочесть одно другому? var myguid = Guid.Parse("9546482E-887A-4CAB-A403-AD9C326FFDA5"); или же var myguid = new Guid("9546482E-887A-4CAB-A403-AD9C326FFDA5");
79 c#  .net  guid 

4
Почему этот код выдает предупреждение компилятора «Возможный возврат нулевой ссылки»?
Рассмотрим следующий код: using System; #nullable enable namespace Demo { public sealed class TestClass { public string Test() { bool isNull = _test == null; if (isNull) return ""; else return _test; // !!! } readonly string _test = ""; } } Когда я строй это линия , отмеченная !!!выдает …

2
Как правильно инициализировать словарь C #?
Я наткнулся на следующее, и мне интересно, почему это не вызывает синтаксическую ошибку. var dict = new Dictionary<string, object> { ["Id"] = Guid.NewGuid(), ["Tribes"] = new List<int> { 4, 5 }, ["MyA"] = new Dictionary<string, object> { ["Name"] = "Solo", ["Points"] = 88 } ["OtherAs"] = new List<Dictionary<string, object>> { …

10
Объектно-ориентированное программирование - как избежать дублирования в процессах, которые немного отличаются в зависимости от переменной
Что-то, что встречается довольно часто в моей текущей работе, заключается в том, что существует обобщенный процесс, который должен произойти, но тогда нечетная часть этого процесса должна происходить немного по-другому в зависимости от значения определенной переменной, и я не Я уверен, что это самый элегантный способ справиться с этим. Я буду …
64 c#  oop 

2
Что означает одиночная кавычка в формате даты и времени C #?
У нас есть, например, эта константа в C #: System.Globalization.DateTimeFormatInfo.InvariantInfo.SortableDateTimePattern У этого есть значение: "yyyy'-'MM'-'dd'T'HH':'mm':'ss" Я использую это в ParseExactфункции, а затем yyyy-MM-ddTHH:mm:ssработает также. Я не могу понять, для чего одиночные кавычки.

2
Почему «использование системы»; не считается плохой практикой?
У меня есть опыт работы с C ++, и я полностью понимаю и согласен с ответами на этот вопрос: почему «используется пространство имен std;» считается плохой практикой? Поэтому я удивлен тем, что, имея некоторый опыт работы с C # сейчас, я вижу здесь совершенно противоположное: using Some.Namespace;буквально используется везде. Всякий …

1
Должен ли этот небезопасный код работать и в .NET Core 3?
Я делаю рефакторинг своих библиотек, чтобы Span<T>по возможности избегать выделения кучи, но поскольку я нацеливаюсь и на более старые фреймворки, я также реализую некоторые общие резервные решения. Но теперь я обнаружил странную проблему и не совсем уверен, нашел ли я ошибку в .NET Core 3 или я делаю что-то нелегальное. …
42 c#  stackalloc 

2
Как выполнить перетаскивание (на основе координат мыши X, Y) на Android с помощью AccessibilityService?
Я хочу знать, как выполнить перетаскивание на Android на основе координат мыши X, Y? Рассмотрим два простых примера: Team Viewer / QuickSupport рисует «шаблон пароля» на удаленном смартфоне и перо Windows Paint соответственно. Все, что я могу сделать, это симулировать прикосновение ( dispatchGesture()а также AccessibilityNodeInfo.ACTION_CLICK). Я нашел эти релевантные ссылки, …

3
Что это значит?
Иногда я вижу следующий код и понятия не имею, что на самом деле проверяет выражение. public static void Something(string[] value) { if (value is { }) { DoSomethingElse(); } }
36 c#  c#-8.0 

1
Какая модель памяти реализована в .NET Core?
Спецификация ECMA CLI определяет слабую модель памяти. Это позволяет изменить порядок выполнения команд (что полезно для производительности). Но написание низкоуровневого кода для такой модели очень сложно. И самое главное - архитектуры процессоров X86 / AMD64 имеют более строгую (сильную) модель памяти. В результате Microsoft реализовала более сильную модель памяти в …
36 c#  .net-core 

1
Что делает ValueTuple ковариантным?
Это правильно компилируется в C # 7.3 (Framework 4.8): (string, string) s = ("a", "b"); (object, string) o = s; Я знаю, что это синтаксический сахар для следующего, который также правильно компилируется: ValueTuple<string, string> s = new ValueTuple<string, string>("a", "b"); ValueTuple<object, string> o = s; Итак, похоже, что ValueTuples могут …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.