Объектно-ориентированное программирование на С#. Андрианова А.А - 117 стр.

UptoLike

117
if (a.Length == 0)
elements = null;
else
{
// копирование массива элементов множества
elements = new T[a.Length];
a.CopyTo(elements, 0);
}
}
// индексатор доступа к элементам множества по номеру
public T this[int index]
{
set
{
if (index < 0 || index >= elements.Length)
throw new Exception("Индекс элемента выходит
за границы множества.");
elements[index] = value;
}
get
{
if (elements.Length == 0)
throw new Exception("Множество пустое.");
if (index < 0 || index >= elements.Length)
throw new Exception("Индекс элемента выходит
за границы множества.");
return elements[index];
}
}
// метод проверки наличия в множестве заданного элемента
public bool Contains(T find)
{
foreach (T el in elements)
if (el.Equals(find))
return true;
return false;
}
}
class Program
{
static void Main(string[] args)
{
try
{
// демонстрация создания объекта-множества
// для целых чисел
int[] a = { 1, 2, 3, 4, 5, 0 };
Set<int> s1 = new Set<int>(a);
Console.WriteLine(s1.Contains(4));
        if (a.Length == 0)
           elements = null;
        else
        {
             // копирование массива элементов множества
             elements = new T[a.Length];
             a.CopyTo(elements, 0);
        }
    }

    // индексатор доступа к элементам множества по номеру
    public T this[int index]
    {
       set
       {
           if (index < 0 || index >= elements.Length)
              throw new Exception("Индекс элемента выходит
                        за границы множества.");
           elements[index] = value;
       }

        get
        {
              if (elements.Length == 0)
                 throw new Exception("Множество пустое.");
              if (index < 0 || index >= elements.Length)
                 throw new Exception("Индекс элемента выходит
                           за границы множества.");
              return elements[index];
        }
    }

    // метод проверки наличия в множестве заданного элемента
    public bool Contains(T find)
    {
       foreach (T el in elements)
          if (el.Equals(find))
             return true;
       return false;
    }
}

class Program
{
   static void Main(string[] args)
   {
      try
      {
          // демонстрация создания объекта-множества
          // для целых чисел
          int[] a = { 1, 2, 3, 4, 5, 0 };
          Set s1 = new Set(a);
          Console.WriteLine(s1.Contains(4));
                                                                117