No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Convierte tus certificados en títulos universitarios en USA

Antes: $249

Currency
$209

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Suscríbete

Termina en:

18 Días
7 Hrs
50 Min
5 Seg

Configurando clases

7/26
Recursos

Aportes 6

Preguntas 1

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Si escribes “prop” y presionas dos veces tab se te genera una propiedad automáticamente (ahorra tiempo de código)

En el archivo .csproj es posible que tengan la siguiente configuración:

<Nullable>enable</Nullable>

En algunas propiedades de la clase Book.cs aparecerá este warning:

CS8618 - Non-nullable variable must contain a non-null value when exiting constructor. Consider declaring it as nullable.

Pueden hacer lo siguiente:

  1. declarar la propiedad como nullable
public class Book
{
    public string? Title { get; set; }
    public int PageCount { get; set; }
    public string? Status { get; set; }
    public DateTime PublishedDate { get; set; }
    public string? ThumbnailUrl { get; set; }
    public string? ShortDescription { get; set; }
    public string[]? Authors { get; set; }
    public string[]? Categories { get; set; }
}
  1. asignarle un valor por default
public class Book
{
    public string Title { get; set; } = "";
    public int PageCount { get; set; }
    public string Status { get; set; } = "";
    public DateTime PublishedDate { get; set; }
    public string ThumbnailUrl { get; set; } = "";
    public string ShortDescription { get; set; } = "";
    public string[] Authors { get; set; } = Array.Empty<string>();
    public string[] Categories { get; set; } = Array.Empty<string>();
}

Para agregar un constructor a la clase pueden colocar la palabra ctor y dan clic en la tecla tab.

Book.cs

public class Book
    {
        public string? Title { get; set; }
        public int PageCount { get; set; }
        public DateTime PublishedDate { get; set; }
        public string? ThumbnailUrl { get; set; }
        public string? ShortDescription { get; set; }
        public string? LongDescription { get; set; }
        public string? Status { get; set; }
        public string[]? Authors { get; set; }
        public string[]? Categories { get; set; }
    }
Clase 7/26 - **Configurando Clases para el Proyecto** **Objetivo:** * Establecer las clases base que representarán las entidades dentro del proyecto, específicamente centradas en la manipulación de datos de libros. **Desarrollo de Clases:** 1. **Clase** `Book`**:** * Representa la entidad libro con propiedades extraídas del archivo `books.json`. * Se utilizan propiedades envueltas por campos privados para un mejor control de acceso y modificación de los datos. **Código de la Clase** `Book`**:** ```c# public class Book { private string? _title; private int _pageCount; private DateOnly _publishedDate; private string? _thumbnailUrl; private string? _shortDescription; private string? _status; private string[]? _authors; private string[]? _categories; public string? Title { get { return _title; } set { _title = value; } } public int PageCount { get { return _pageCount; } set { _pageCount = value; } } public DateOnly PublishedDate { get { return _publishedDate; } set { _publishedDate = value; } } public string? ThumbnailUrl { get { return _thumbnailUrl; } set { _thumbnailUrl = value; } } public string? ShortDescription { get { return _shortDescription; } set { _shortDescription = value; } } public string? Status { get { return _status; } set { _status = value; } } public string[]? Authors { get { return _authors; } set { _authors = value; } } public string[]? Categories { get { return _categories; } set { _categories = value; } } public Book() { // Constructor vacío para inicialización básica } } ``` 1. **Clase** `LinqQueries`**:** * Diseñada para contener las consultas LINQ que se desarrollarán en el curso. * Inicialmente, se configura con un constructor vacío para futuras extensiones. **Código de la Clase** `LinqQueries`**:** ```c# public class LinqQueries { public LinqQueries() { // Constructor vacío preparado para futuras consultas LINQ } } ```**Próximos Pasos:** * Implementar métodos específicos en `LinqQueries` para ejecutar consultas LINQ sobre la colección de libros. * Utilizar la clase `Book` para cargar datos desde el archivo `books.json` y realizar operaciones de consulta.
Hola, cuándo a una Propiedad llegan varios elementos, en lugar de un array\[] que otro tipo de estructura de datos es posible utilizar?, o puede ser cualesquiera según la necesidad (**dictionary, array, stack, hashtable, queue, Linkedlist**)