C#: Searching through arrays

Posted by Jonathan Oberhaus on Stack Overflow See other posts from Stack Overflow or by Jonathan Oberhaus
Published on 2012-12-07T22:42:29Z Indexed on 2012/12/07 23:04 UTC
Read the original article Hit count: 185

Filed under:
|
|

I have a dvd app that stores dvds and blu-rays, I want to search the arrays by director. Below is the code for the inventory class I have seen many different ways to do this. There seems to be some debate as the best/most efficient way to accomplish this, any suggestions?

Blockquote

    namespace MovieInventoryApplication
{
class Inventory
{
    public Bluray[] BlurayMovies;
    public DVD[] DVDMovies;

    private int blurayCount;
    private int dvdCount;

    public Inventory()
    {
        BlurayMovies = new Bluray[5];
        DVDMovies = new DVD[5];

        blurayCount = 0;
        dvdCount = 0;
    }

    public void AddBluray()
    {
        String strTitle;
        int intReleaseYear;
        int intRunningTimeMinutes;
        String strDirector;
        int intPrice;
        int intRegionCode;

        try
        {
            Console.Write("Enter a title: ");
            strTitle = Console.ReadLine();

            Console.Write("Enter a release year: ");
            intReleaseYear = Convert.ToInt32(Console.ReadLine());

            Console.Write("Enter the running time in minutes: ");
            intRunningTimeMinutes = Convert.ToInt32(Console.ReadLine());

            Console.Write("Enter the directors name: ");
            strDirector = Console.ReadLine();

            Console.Write("Enter a rental price: ");
            intPrice = Convert.ToInt32(Console.ReadLine());

            BlurayMovies[blurayCount] = new Bluray(strTitle, intReleaseYear, intRunningTimeMinutes, strDirector, intPrice);
            blurayCount++;

            Console.Write("Enter the DVD region code: ");
            intRegionCode = Convert.ToInt32(Console.ReadLine());

            DVDMovies[dvdCount] = new DVD(strTitle, intReleaseYear, intRunningTimeMinutes, strDirector, intPrice, intRegionCode);
            dvdCount++;
        }
        catch (FormatException FormatException)
        {
            Console.WriteLine(FormatException.Message);
            Console.WriteLine("Please enter a number in this field.");
        }
    }

    public void AddDVD()
    {
        String strTitle;
        int intReleaseYear;
        int intRunningTimeMinutes;
        String strDirector;
        int intPrice;
        int intRegionCode;

        try
        {
            Console.Write("Enter a title: ");
            strTitle = Console.ReadLine();

            Console.Write("Enter a release year: ");
            intReleaseYear = Convert.ToInt32(Console.ReadLine());

            Console.Write("Enter the running time in minutes: ");
            intRunningTimeMinutes = Convert.ToInt32(Console.ReadLine());

            Console.Write("Enter the directors name: ");
            strDirector = Console.ReadLine();

            Console.Write("Enter a rental price: ");
            intPrice = Convert.ToInt32(Console.ReadLine());

            Console.Write("Enter the region code: ");
            intRegionCode = Convert.ToInt32(Console.ReadLine());

            DVDMovies[dvdCount] = new DVD(strTitle, intReleaseYear, intRunningTimeMinutes, strDirector, intPrice, intRegionCode);
            dvdCount++;
        }

        catch (FormatException FormatException)
        {
            Console.WriteLine(FormatException.Message);
            Console.WriteLine("Please enter a number in this field.");
        }
    }

    public void ListAllBluray()
    {
        int position = 0;

        while (BlurayMovies[position] != null)
        {
            Console.WriteLine(position + " " + BlurayMovies[position].strTitle);

            position++;
        }
    }

    public void ListAllDVD()
    {
        int position = 0;

        while (DVDMovies[position] != null)
        {
            //position + 1 + " " + 
            Console.WriteLine(position + " " + DVDMovies[position].strTitle);

            position++;
        }
    }

    public void BlurayInfo(int position)
    {
        Console.WriteLine("Title: {0}", DVDMovies[position].strTitle);
        Console.WriteLine("Release Year: {0}", DVDMovies[position].intReleaseYear);
        Console.WriteLine("Running Time (Minutes): {0}", DVDMovies[position].intRunningTimeMinutes);
        Console.WriteLine("Director: {0}", DVDMovies[position].strDirector);
        Console.WriteLine("Price: {0}", DVDMovies[position].intPrice);
    }

    public void DVDInfo(int position)
    {
        Console.WriteLine("Title: {0}", DVDMovies[position].strTitle);
        Console.WriteLine("Release Year: {0}", DVDMovies[position].intReleaseYear);
        Console.WriteLine("Running Time (Minutes): {0}", DVDMovies[position].intRunningTimeMinutes);
        Console.WriteLine("Director: {0}", DVDMovies[position].strDirector);
        Console.WriteLine("Price: {0}", DVDMovies[position].intPrice);
        Console.WriteLine("Region Code: {0}", DVDMovies[position].intRegionCode);
    }
}

}

© Stack Overflow or respective owner

Related posts about c#

Related posts about arrays