Подтвердить что ты не робот

Создание непустых типов в С#

Как создать типы с нулевым значением, такие как int, bool и т.д. в С#?

4b9b3361

Ответ 1

Да, они называются struct.

Структуры - это типы значений, как и int, bool и другие.

У них есть некоторые правила/рекомендации, связанные с ними: (я думаю, что это самые важные)

  • struct передается и присваивается значением, если не используется ключевое слово ref или out... это означает, что все, что вы помещаете внутри структуры, будет скопировано при назначении или передаче его методу. Вот почему вы не должны создавать большие структуры.

  • вы не можете определить конструктор без параметров для структуры в С#

  • структуры лучше быть неизменными и не имеют свойств. Вы можете получить реальные проблемы, создав изменчивые структуры.

Другие правила можно найти в документах Microsoft о структурах.

Что касается не нулевых ссылочных типов... это невозможно. Вы должны проверить нули внутри своего кода вручную.

Ответ 2

Вы можете определить структуру:

Тип структуры - это тип значения, который обычно используется для инкапсуляции небольших групп связанных переменных, таких как координаты прямоугольника или характеристики предмета в инвентаре. В следующем примере показано простое объявление структуры:

public struct Book
{
    public decimal price;
    public string title;
    public string author;
}

Однако вы не можете определить псевдонимы, такие как int для System.Int32 и должны ссылаться на полное имя MyNamespace.Book (или Book с using MyNamespace;) на вашу структуру.

Ответ 3

7 лет спустя и теперь это возможно

  • Установите .NET Core 3.0, который включает С# 8.
  • Установите языковую версию 8.0: 8.0 для вашего файла .csproj.
  • Добавьте свойство true (. К вашему csproj)

Более подробная информация о нем влияет на написание кода и существующего кода здесь:

https://praeclarum.org/2018/12/17/nullable-reference-types.html