Persistencia De Datos De Insectos En C#

Este ejercicio se centra en la persistencia de datos mediante un método de almacenamiento, como una base de datos o un sistema de archivos. Creará una nueva versión del ejercicio "insectos", donde los datos sobre insectos se guardarán y recuperarán de un archivo. El programa demuestra cómo serializar y deserializar datos en C# y cómo interactuar con un sistema de archivos para almacenar datos persistentes.



Grupo

Persistencia de Objetos en C#

Objectivo

1. Cree una clase llamada Insecto que contenga información sobre el insecto, como su nombre, especie y envergadura.
2. Implemente métodos para guardar y cargar datos desde un archivo para conservar la información del insecto.
3. Cree un programa de prueba para guardar y recuperar varios insectos de un archivo.
4. Asegúrese de que los datos estén correctamente serializados antes de guardarlos y deserializados al cargarlos desde el archivo.

Cree una nueva versión del ejercicio "Insectos", que debería conservar los datos mediante algún tipo de almacenamiento, como una base de datos o un sistema de archivos.

Ejemplo de ejercicio en C#

 Copiar código C#
using System;
using System.IO;
using System.Runtime.Serialization.Formatters.Binary;

[Serializable] // Marking the class as serializable
class Insect
{
    // Properties of the Insect class
    public string Name { get; set; }
    public string Species { get; set; }
    public double Wingspan { get; set; }

    // Constructor for the Insect class
    public Insect(string name, string species, double wingspan)
    {
        Name = name;
        Species = species;
        Wingspan = wingspan;
    }
}

class InsectStorage
{
    // Method to save insect data to a file
    public static void SaveDataToFile(string fileName, Insect[] insects)
    {
        using (FileStream fs = new FileStream(fileName, FileMode.Create))
        {
            // Using BinaryFormatter to serialize the data to the file
            BinaryFormatter formatter = new BinaryFormatter();
            formatter.Serialize(fs, insects);
        }
    }

    // Method to load insect data from a file
    public static Insect[] LoadDataFromFile(string fileName)
    {
        using (FileStream fs = new FileStream(fileName, FileMode.Open))
        {
            // Using BinaryFormatter to deserialize the data from the file
            BinaryFormatter formatter = new BinaryFormatter();
            return (Insect[])formatter.Deserialize(fs);
        }
    }
}

class Program
{
    static void Main()
    {
        // Creating an array of insects
        Insect[] insects = new Insect[]
        {
            new Insect("Dragonfly", "Anisoptera", 3.5),
            new Insect("Butterfly", "Lepidoptera", 2.0),
            new Insect("Beetle", "Coleoptera", 1.0)
        };

        // File name where the data will be stored
        string fileName = "insectsData.dat";

        // Saving the insect data to a file
        InsectStorage.SaveDataToFile(fileName, insects);
        Console.WriteLine("Insect data saved to file.");

        // Loading the insect data from the file
        Insect[] loadedInsects = InsectStorage.LoadDataFromFile(fileName);
        Console.WriteLine("Insect data loaded from file:");

        // Displaying the loaded insect data
        foreach (Insect insect in loadedInsects)
        {
            Console.WriteLine($"Name: {insect.Name}, Species: {insect.Species}, Wingspan: {insect.Wingspan} cm");
        }
    }
}

 Output

Insect data saved to file.
Insect data loaded from file:
Name: Dragonfly, Species: Anisoptera, Wingspan: 3.5 cm
Name: Butterfly, Species: Lepidoptera, Wingspan: 2.0 cm
Name: Beetle, Species: Coleoptera, Wingspan: 1.0 cm

Comparte este ejercicio de C#

Practica más ejercicios C# de Persistencia de Objetos en C#

¡Explora nuestro conjunto de ejercicios de práctica de C#! Diseñados específicamente para principiantes, estos ejercicios te ayudarán a desarrollar una sólida comprensión de los fundamentos de C#. Desde variables y tipos de datos hasta estructuras de control y funciones simples, cada ejercicio está diseñado para desafiarte gradualmente a medida que adquieres confianza en la programación en C#..