Search in file C# Exercise - C# Programming Course

 Exercise

Search in file

 Objetive

Create a program that reads a text file, saves its content to an ArrayList, and asks the user to enter sentences to search within the file.

The program should ask the user to enter a word or sentence and display all the lines that contain the word or sentence. It should then prompt the user to enter another word or sentence and repeat the process until the user enters an empty string.

 Example Code

// 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...");
    }
}

More C# Exercises of Dynamic Memory Management

 Implementing a queue using array
Implementing a queue...
 Implementing a stack using array
Implementing a stack...
 Queue Collections
Create a string queue using the Queue class that already exists in the DotNet platform....
 Queue Stack Reverse Polish Notation
Create a program that reads a Reverse Polish Notation expression from a text file, for example: 3 4 6 5 - + * 6 + (Result 21) Each item will be...
 ArrayList
Create a string list using the ArrayList class that already exists in the .NET platform. Once created, display all the items stored in the list. In...
 ArrayList duplicate a text file
Create a program that reads from a text file and stores it to another text file by reversing the order of lines. For example, an input text file li...
 Unlimited sum
Create a program to allow the user to enter an unlimited amount of numbers. Also, they can enter the following commands: "sum", to display the sum of...
 ArrayList - Text file reader
provide your basic text file reader here, which displays 21 lines of text and allows the user to navigate using the up and down arrow keys, and exit u...
 Hast Table - Dictionary
Submit your dictionary here using a hash table....
 Parenthesis
Implement a function to check if a sequence of open and closed parentheses is balanced. In other words, check if each open parenthesis corresponds to ...
 Mix and sort files
Create a program that reads the contents of two different files, merges them, and sorts them alphabetically. For example, if the files contain: "Dog C...
 ArrayList of Points
Create a structure named "Point3D" to represent a point in 3D space with coordinates X, Y, and Z. Create a program that has a menu where the user c...

Juan A. Ripoll - Programming Tutorials and Courses © 2025 All rights reserved.  Legal Conditions.