«Решайте примеры, используя индексы и свойства»
Download 52,88 Kb.
|
- Bu sahifa navigatsiya:
- Пример использования 3
- Отказоустойчивость
Пример 3В этом примере объявляется класс, в котором хранятся названия дней недели с использованием перечисления System.DayOfWeek. Метод доступа get принимает название дня (DayOfWeek) в виде строкового значения и возвращает соответствующее целое число. Например, для DayOfWeek.Sunday возвращается 0, для DayOfWeek.Monday — 1 и т. д. using System; using Day = System.DayOfWeek; class DayOfWeekCollection { Day[] days = { Day.Sunday, Day.Monday, Day.Tuesday, Day.Wednesday, Day.Thursday, Day.Friday, Day.Saturday }; // Indexer with only a get accessor with the expression-bodied definition: public int this[Day day] => FindDayIndex(day); private int FindDayIndex(Day day) { for (int j = 0; j < days.Length; j++) { if (days[j] == day) { return j; } } throw new ArgumentOutOfRangeException( nameof(day), $"Day {day} is not supported.\nDay input must be a defined System.DayOfWeek value."); } } Пример использования 3using System; class Program { static void Main() { var week = new DayOfWeekCollection(); Console.WriteLine(week[DayOfWeek.Friday]); try { Console.WriteLine(week[(DayOfWeek)43]); } catch (ArgumentOutOfRangeException e) { Console.WriteLine($"Not supported input: {e.Message}"); } } // Output: // 5 // Not supported input: Day 43 is not supported. // Day input must be a defined System.DayOfWeek value. (Parameter 'day') } ОтказоустойчивостьПовысить безопасность и надежность индексаторов можно двумя способами:
Download 52,88 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2025
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling