Вход/Регистрация
C# 4.0 полное руководство - 2011
вернуться

Шилдт Герберт

Шрифт:

what.CompareTo(ob§[obs.Length-1]) > 0) return false; return true;

}

// Продемонстрировать операции сравнения, static void Main {

// Применить метод Isln к данным типа int. int[] nums = { 1, 2, 3, 4, 5 };

if(IsIn(2, nums))

Console.WriteLine("Найдено значение 2.");

if(Isln(99, nums))

Console.WriteLine("He подлежит выводу.");

// Применить метод Isln к объектам класса MyClass.

MyClass[] mcs = { new MyClass(1), new MyClass(2),

new MyClass(3), new MyClass(4) };

if(lsln(new MyClass(3), mcs))

Console.WriteLine("Найден объект MyClass(3).");

if(Isln(new MyClass(99), mcs))

Console.WriteLine("He подлежит выводу.");

// Применить метод InRange к данным типа int. if(InRange(2, nums))

Console.WriteLine("Значение 2 находится в границах массива nums."); if(InRange(1, nums))

Console.WriteLine("Значение 1 находится в границах массива nums."); if(InRange(5, nums))

Console.WriteLine("Значение 5 находится в границах массива nums."); if(!InRange(0, nums))

Console.WriteLine("Значение О HE находится в границах массива nums."); if(!InRange(6, nums))

Console.WriteLine("Значение 6 HE находится в границах массива nums.");

// Применить метод InRange к объектам класса MyClass.. if(InRange(new MyClass(2), mcs))

Console.WriteLine("Объект MyClass(2) находится в границах массива nums."); if(InRange(new MyClass(1), mcs))

Console.WriteLine("Объект MyClass(1) находится " +

"в границах массива nums."); if(InRange(new MyClass(4), mcs))

Console.WriteLine("Объект MyClass(4) находится " +

"в границах массива nums."); if(!InRange(new MyClass(0), mcs))

Console.WriteLine("Объект MyClass(0) HE " +

"находится в границах массива nums."); if(!InRange(new MyClass(5), mcs))

Console.WriteLine("Объект MyClass(5) HE " +

"находится в границах массива nums.");

}

}

Выполнение этой программы приводит к следующему результату.

Найдено значение 2.

Найден объект MyClass (3) .

Значение 2 находится в границах массива nums.

Значение 1 находится в границах массива nums.

Значение 5 находится в границах массива nums.

Значение 0 НЕ находится в границах массива nums

Значение 6 НЕ находится в границах массива nums

Объект MyClass(2) находится в границах массива nums.

Объект MyClass(1) находится в границах массива nums.

Объект MyClass(4) находится в границах массива nums.

Объект MyClass(0) НЕ находится в границах массива nums.

Объект MyClass(5) НЕ находится в границах массива nums.

ПРИМЕЧАНИЕ

Если параметр типа обозначает ссылку или ограничение на базовый класс, то к экземплярам объектов, определяемых таким параметром типа, можно применять операторы == и ! =, хотя они проверяют на равенство только ссылки. А для сравнения значений придется реализовать интерфейс IComparable или же обобщенные интерфейсы IComparable<T> и IEquatable<T>.

Иерархии обобщенных классов

Обобщенные классы могут входить в иерархию классов аналогично необобщенным классам. Следовательно, обобщенный класс может действовать как базовый или производный класс. Главное отличие между иерархиями обобщенных и необобщенных классов заключается в том, что в первом случае аргументы типа, необходимые обобщенному базовому классу, должны передаваться всеми производными классами вверх по иерархии аналогично передаче аргументов конструктора.

  • Читать дальше
  • 1
  • ...
  • 290
  • 291
  • 292
  • 293
  • 294
  • 295
  • 296
  • 297
  • 298
  • 299
  • 300
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: