|
|
Перевод блога Эрика Липперта
Browse by Tags
All Tags » C# (RSS)
-
Предостережение: я не эксперт по многопоточному программированию. На самом деле, я бы даже не стал утверждать, что я в нём компетентен . За всю мою карьеру, необходимость написать код, который запускает второй рабочий поток, возникала, вероятно, менее Read More...
|
-
Пользователь: Недавно я обнаружил в C# странное поведение относительно деления на ноль чисел с плавающей запятой. Оно не бросает исключение, как целочисленное деление, а возвращает «бесконечность». С чего бы это? Эрик: Как я частенько говорил, мне трудно Read More...
|
-
Отсутствие доказательств – не доказательство отсутствия Сегодня – ещё два слегка неверных мифа о C#. Как вы, вероятно, знаете, C# требует, чтобы всем локальным переменным были явно присвоены значения перед тем, как из них читают, но предполагает, что Read More...
|
-
Большинство людей скажут, чт о разница между «(Alpha)bravo» и «bravo as Alpha» в том, что первое бросает исключение при неуспехе преобразования, а последнее возвращает null. Хоть это и правильно, и это самая очевидная разница, дело не только в этом. Здесь Read More...
|
-
Меня часто спрашивают «парни, вы добавили методы расширения в C# 3, так почему бы не добавить ещё и свойства расширения?» Хороший вопрос. Давайте, сначала я чуть поговорю о C# 3.0. Явно главной новостью в C# 3 был LINQ. В некотором смысле, у нас было Read More...
|
-
Ещё один хороший вопрос со StackOverflow . Почему есть неявное преобразование из char в ushort, но только явное из ushort в char? Почему дизайнеры языка верят, что эти асимметричные правила имело смысл добавлять в язык? Ну, во-первых, очевидные вещи, Read More...
|
-
Вот любопытный фрагмент кода: object obj = "Int32"; string str1 = "Int32"; string str2 = typeof(int).Name; Console.WriteLine(obj == str1); // true Console.WriteLine(str1 == str2); // true Console.WriteLine(obj == str2); // false !? Конечно, если A равно Read More...
|
-
Еще один интересный вопрос со StackOverflow : uint[] foo = new uint[10]; object bar = foo; Console.WriteLine("{0} {1} {2} {3}", foo is uint[], // True foo is int[], // False bar is uint[], // True bar is int[]); // True Что за ерунда тут происходит? Этот Read More...
|
-
Вот хороший вопрос со StackOverflow : Если у вас есть метод, принимающий «X», то вы должны передавать выражение типа X или что-то, приводимое к X . Скажем, выражение производного от X типа. Но если у вас есть метод, принимающий «ref X», то вы обязаны Read More...
|
-
К западу от здания Вы стоите в открытом поле к западу от белого здания с дощатой входной дверью. Тут маленький почтовый ящик. >открыть ящик В открытом маленьком почтовом ящике обнаружен листок. >взять листок Взят. >прочитать листок «ДОБРО ПОЖАЛОВАТЬ Read More...
|
-
Так же, как «fixed» и «into», «partial» используется в С# двумя похожими-но-разными способами. Задача частичного класса в том, чтобы позволить вам разбивать объявление класса на несколько частей, обычно расположенных в различных файлах. Мотиватором этой Read More...
|
-
Пользователь: почему эта программа отказывается компилироваться в релизном билде? class Program { #if DEBUG static int testCounter = 0; #endif static void Main(string[] args) { SomeTestMethod(testCounter++); } [Conditional("DEBUG")] static void SomeTestMethod(int Read More...
|
-
Ключевое слово «into» в выражениях-запросах означает две разных вещи, в зависимости от того, идёт ли оно после join или select/group. Если оно следует за join, то оно превращает объединение в групповое объединение. Если оно следует за select или group, Read More...
|
-
Вчера получил письмо, которое начиналось так: У меня есть вопрос про буфера фиксированного размера в C #: unsafe struct FixedBuffer { public fixed int buffer[100]; } Поскольку я объявил buffer как fixed , его нельзя перемещать… И моё сердце ёкнуло. Это Read More...
|
-
Большинство людей понимают, что есть разница между «прямоугольными» и «рваными» двумерными массивами. int[,] rectangle = { {10, 20}, {30, 40}, {50, 60} }; int[][] ragged = { new[] {10}, new[] {20, 30}, new[] {40, 50, 60} }; Тут у нас есть двумерный массив Read More...
|
|
|
|