value-type- все статьи тега
В C#, почему String является ссылочным типом, который ведет себя как тип значения?
строка является ссылочным типом, хотя она имеет большинство характеристик типа значения, таких как неизменяемость и перегрузка == для сравнения текста, а не для того, чтобы они ссылались на один и тот же объект. Почему тогда строка не является просто типом значения? ...
В чем разница между ссылочным типом и типом значения в C#?
какой-то парень задал мне этот вопрос пару месяцев назад, и я не мог объяснить его подробно. В чем разница между ссылочным типом и типом значения в C#? Я знаю, что типы значений int,bool,float, etc и ссылочные типы delegate,interface и т. д. Или это тоже неправильно? можете ли вы объяснить мне это профессионально? ...
Как типы значений выводятся из объекта (ReferenceType) и все еще являются типами значений?
C# не позволяет структурам наследовать от классов, но все типы значений выводятся из объекта. Где проводится это различие? как CLR справляется с этим? ...
Почему нет RAII in.NET?
будучи в первую очередь разработчиком C++ отсутствие RAII (сбор ресурсов является инициализацией) в Java и .NET всегда беспокоило меня. Дело в том, что бремя очистки перемещается от класса writer к его потребителю (с помощью try finally или .NET using построить), кажется, заметно уступает. Я вижу, почему в Java нет поддержки RAII, так как все объекты расположены в куче и сборщике мусора по своей сути не поддерживает детерминированное разрушение, но в .NET с введением типов значений (struct) у н ...
Почему неявное преобразование оператора от принять?
это странное поведение, которое я не могу осмыслить. В моем примере у меня есть класс Sample<T> и неявный оператор преобразования из T до Sample<T>. private class Sample<T> { public readonly T Value; public Sample(T value) { Value = value; } public static implicit operator Sample<T>(T value) => new Sample<T>(value); } проблема возникает при использовании типа значения nullable для T например int?. { int? a = 3; Sample<int> ...