Buscar En Archivo - Ejercicio De Programacion C# Sharp

En este ejercicio, debes crear un programa que lea el contenido de un archivo de texto, guarde ese contenido en un ArrayList y permita al usuario ingresar oraciones para buscar dentro del archivo.

El programa debe seguir el siguiente flujo:

• Leer el contenido del archivo y almacenarlo en un ArrayList.
• Preguntar al usuario por una palabra o una oración y mostrar todas las líneas que contengan esa palabra o frase dentro del archivo.
• Después de mostrar los resultados, el programa debe pedir al usuario que ingrese otra palabra o frase, y repetir el proceso hasta que el usuario ingrese una cadena vacía.

Este ejercicio te ayudará a practicar la lectura de archivos, el uso de ArrayList para almacenar y manejar datos, y la interacción con el usuario para realizar búsquedas dentro de un archivo de texto en C#.

 Categoría

Gestión Dinámica de Memoria

 Ejercicio

Buscar En Archivo

 Objectivo

Cree un programa para leer un archivo de texto y pida al usuario oraciones para buscar en él.

Leerá todo el archivo, lo almacenará en un ArrayList, pedirá al usuario una palabra (u oración) y mostrará todas las líneas que contienen dicha palabra. Luego pedirá otra palabra y así sucesivamente, hasta que el usuario ingrese una cadena vacía.

 Ejemplo Ejercicio C#

 Copiar Código C#
// Import necessary namespaces
using System;  // For basic input/output operations
using System.Collections;  // For using ArrayList
using System.IO;  // For file reading operations

class Program
{
    // Main method to execute the program
    static void Main(string[] args)
    {
        // ArrayList to store the lines from the file
        ArrayList lines = new ArrayList();

        // Specify the file path (change the path as needed)
        string filePath = "textfile.txt";  // Path to the text file

        // Check if the file exists before attempting to read it
        if (File.Exists(filePath))
        {
            // Read all lines from the file and store them in the ArrayList
            string[] fileLines = File.ReadAllLines(filePath);  // Read all lines from the file

            // Add each line from the file into the ArrayList
            foreach (string line in fileLines)
            {
                lines.Add(line);  // Store each line in the ArrayList
            }

            Console.WriteLine("File loaded successfully.\n");
        }
        else
        {
            Console.WriteLine("File not found. Please make sure the file exists at the specified path.");
            return;  // Exit the program if the file is not found
        }

        // Variable to store the user's search input
        string searchTerm = "";

        // Repeat asking for a search term until the user enters an empty string
        do
        {
            // Prompt the user to enter a word or sentence to search for
            Console.Write("Enter a word or sentence to search for (or press Enter to quit): ");
            searchTerm = Console.ReadLine();  // Get the user's input

            // If the input is not an empty string, search for the term
            if (!string.IsNullOrEmpty(searchTerm))
            {
                bool found = false;  // Flag to check if any lines are found

                // Loop through all the lines in the ArrayList
                foreach (string line in lines)
                {
                    // Check if the current line contains the search term (case-insensitive search)
                    if (line.IndexOf(searchTerm, StringComparison.OrdinalIgnoreCase) >= 0)
                    {
                        // If the search term is found, display the line
                        Console.WriteLine(line);
                        found = true;  // Mark that at least one match was found
                    }
                }

                // If no matching lines were found, notify the user
                if (!found)
                {
                    Console.WriteLine("No matches found for your search.");
                }
            }

        } while (!string.IsNullOrEmpty(searchTerm));  // Continue until the user enters an empty string

        // Inform the user that the program is ending
        Console.WriteLine("Exiting the program...");
    }
}

 Salida

Assume the file textfile.txt contains the following lines:
Hello world
This is a test file
Searching is fun
C# is a powerful language

The program will first check if the file exists. If the file is found, the program will output:
File loaded successfully.

First Search:
The program finds the line that contains "Hello" and displays it:
Enter a word or sentence to search for (or press Enter to quit): Hello
Hello world

Second Search:
The program finds the line that contains "C#" and displays it:
Enter a word or sentence to search for (or press Enter to quit): C#
C# is a powerful language

The user simply presses Enter without any input, and the program exits:
Enter a word or sentence to search for (or press Enter to quit):
Exiting the program...

 Comparte este Ejercicio C# Sharp

 Más Ejercicios de Programacion C# Sharp de Gestión Dinámica de Memoria

¡Explora nuestro conjunto de ejercicios de programación C# Sharp! Estos ejercicios, diseñados específicamente para principiantes, te ayudarán a desarrollar una sólida comprensión de los conceptos básicos de C#. Desde variables y tipos de datos hasta estructuras de control y funciones simples, cada ejercicio está diseñado para desafiarte de manera gradual a medida que adquieres confianza en la codificación en C#.

  •  Implementación de una cola usando una matriz

    En este ejercicio, deberás implementar una cola (queue) en C#. Una cola es una estructura de datos que sigue el principio FIFO (First In, First Out), es decir,...

  •  Implementar una pila usando una matriz

    En este ejercicio, deberás implementar una pila (stack) en C#. Una pila es una estructura de datos que sigue el principio LIFO (Last In, First Out), es decir, ...

  •  Colecciones de colas

    En este ejercicio, deberás crear una cola de cadenas utilizando la clase Queue que ya existe en la plataforma DotNet. La clase Queue es una implementación de l...

  •  Notación Polish inversa de pila de cola

    En este ejercicio, deberás crear un programa que lea una expresión en Notación Polaca Inversa (RPN, por sus siglas en inglés) desde un archivo de texto, como por ejemplo:

  •  ArrayList

    En este ejercicio, deberás crear una lista de cadenas utilizando la clase ArrayList que ya existe en la plataforma .NET. La clase ArrayList permite almacenar e...

  •  ArrayList duplicar un archivo de texto

    En este ejercicio, deberás crear un programa que lea el contenido de un archivo de texto y lo almacene en otro archivo de texto, pero invirtiendo el orden de las líneas. Est...