Пример #1
0
        static void Main(string[] args)
        {
            Person p1 = new Person("Bob", "Dude");
            Person p2 = new Person("Bob2", "Dude2");
            Person p3 = new Person("Bro", "Dawg");
            Person p4 = new Person("Bro7", "Dawg7");

            MyGenericArray <int> myInts = new MyGenericArray <int>(3);

            MyGenericArray <Person> myPersons = new MyGenericArray <Person>(3);

            myInts.AddItem(0, 13);
            myInts.AddItem(1, 46);
            myInts.AddItem(2, 85);
            myInts.AddItem(3, 73);

            myPersons.AddItem(0, p1);
            myPersons.AddItem(1, p2);
            myPersons.AddItem(2, p3);
            myPersons.AddItem(3, p4);

            foreach (int i in myInts.array)
            {
                Console.WriteLine(i);
            }

            foreach (Person p in myPersons.array)
            {
                Console.WriteLine(p.Name + p.Job);
            }



            Console.ReadKey();
        }
Пример #2
0
        static void Main(string[] args)
        {
            //https://www.plukasiewicz.net/Csharp_dla_zaawansowanych/Typy_generyczne
            //http://kurs.aspnetmvc.pl/Csharp/Klasy_generyczne
            //Możliwe jest ograniczenie typów jakie może przyjąć klasa generyczna. Aby ograniczyć typ należy użyć słowa kluczowego where:

            // Utworzenie tablicy liczb całkowitych oraz jej wypełnienie
            MyGenericArray <int> intArray = new MyGenericArray <int>(5);

            for (int i = 0; i < 5; i++)
            {
                intArray.setGenericValue(i, i * 3);
            }
            // Wypisanie wszystkich danych
            for (int i = 0; i < 5; i++)
            {
                Console.WriteLine("Liczba: {0}", intArray.getGenericItem(i));
            }
            // Używając tej samej generycznej klasy jesteśmy w stanie zadeklarować innym typ danych
            MyGenericArray <char> charArray = new MyGenericArray <char>(5);

            for (int i = 0; i < 5; i++)
            {
                charArray.setGenericValue(i, (char)(i + 97));
            }
            // Wypisanie wszystkich danych
            for (int i = 0; i < 5; i++)
            {
                Console.WriteLine(charArray.getGenericItem(i));
            }
            Console.ReadKey();
            // Wynik działania programu
            // Liczba: 0
            // Liczba: 3
            // Liczba: 6
            // Liczba: 9
            // Liczba: 12
            // a
            // b
            // c
            // d
            // e
        }