■ 例1
Program.cs
using System; namespace GenericDemo1 { class uArrayList<DATA> { DATA[] value; int dataNum = 0; public uArrayList(int max) { value = new DATA[max]; } public void add(DATA val) { try { if (dataNum < value.Length) { value[dataNum] = val; dataNum++; } else { throw new IndexOutOfRangeException("Index value exceeded"); } } catch (Exception e) { Console.WriteLine("Error : " + e); } } public void display() { int i = 1; foreach (DATA val in value) { Console.WriteLine(i + " : " + val); i++; } } } class Program { static void Main(string[] args) { uArrayList<int> obj1 = new uArrayList<int>(2); obj1.add(100); obj1.add(150); obj1.display(); uArrayList<string> obj2 = new uArrayList<string>(2); obj2.add("India"); obj2.add("U.S.A"); obj2.display(); Console.Read(); } } }
■ 例2
Program.cs
using System; namespace GenericDemo2 { class General<T, U> { T[] itemOne; U[] itemTwo; int counter = 0; public General(int max) { itemOne = new T[max]; itemTwo = new U[max]; } public void add(T value1, U value2) { try { if (counter < itemOne.Length) { itemOne[counter] = value1; itemTwo[counter] = value2; counter++; } else { throw new IndexOutOfRangeException("Index value exceeded"); } } catch (Exception e) { Console.WriteLine("Error : " + e); } } public void disp() { foreach (T value in itemOne) { Console.WriteLine("id : " + value); } foreach (U value in itemTwo) { Console.WriteLine("Name : " + value); } } } class Employee { static void Main(string[] args) { General<int, string> obj = new General<int, string>(4); obj.add(1, "Ryuken"); obj.add(2, "Kenshiro"); obj.add(3, "Raou"); obj.add(4, "Toki"); obj.disp(); Console.Read(); } } }