Pregunta

¿Cómo crear tipos de valor no anulables como int, bool, etc. en C#?

¿Fue útil?

Solución

Sí, estos se llaman struct.

Las estructuras son tipos de valor, al igual que int, bool y otros.

Tienen algunas reglas/recomendaciones relacionadas con ellas: (creo que estas son las más importantes)

  • Se pasa una estructura y se asigna por valor, cuando no usa las palabras clave de Ref o fuera ... Esto significa que todo lo que coloca dentro de una estructura se copiará al asignarlo o pasarlo a un método. Es por eso que no debes hacer grandes estructuras.

  • No puede definir un constructor sin parámetros para una estructura en C#

  • Las estructuras son mejores para ser inmutables y no tienen establecedores de propiedades. Puede meterse en problemas reales haciendo estructuras mutables.

Se pueden encontrar otras reglas dentro de Microsoft Docs sobre estructuras.

Como para Tipos de referencia no anulables... esto es imposible. Debe verificar si hay nulos dentro de su código, manualmente.

Otros consejos

7 años después y esto ahora es posible

  • Instale .NET Core 3.0 que incluye C# 8.
  • Establezca la versión del idioma en 8.0: 8.0 en su archivo .csproj.
  • Agregue la propiedad verdadera (. A su csproj)

Más detalles sobre su esto afecta el código de escritura y su código existente aquí:

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

Puedes definir un estructura:

Un tipo de estructura es un tipo de valor que se usa típicamente para encapsular pequeños grupos de variables relacionadas, como las coordenadas de un rectángulo o las características de un elemento en un inventario. El siguiente ejemplo muestra una declaración de estructura simple:

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

Sin embargo, no puedes definir alias como int por System.Int32 y necesito referirse con el nombre completo MyNamespace.Book (o Book con using MyNamespace;) a tu estructura.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top