Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю - Страница 147
- Предыдущая
- 147/642
- Следующая
Изменить размер шрифта:
147
{ case SalesPerson s: Console.WriteLine("{0} made {1} sale(s)!", emp.Name, s.SalesNumber); break; case Manager m: Console.WriteLine("{0} had {1} stock options...", emp.Name, m.StockOptions); break; } Console.WriteLine();}Когда к оператору
casewhenSalesNumberSalesPersonEmployeecasesSalesPersoncasecase SalesPerson s when s.SalesNumber > 5:Такие новые добавления к
isswitchИспользование отбрасывания вместе с операторами switch (нововведение в версии 7.0)
Отбрасывание также может применяться в операторах
switchswitch (emp){ case SalesPerson s when s.SalesNumber > 5: Console.WriteLine("{0} made {1} sale(s)!", emp.Name, s.SalesNumber); break; case Manager m: Console.WriteLine("{0} had {1} stock options...", emp.Name, m.StockOptions); break; case Employee _: // Некорректный тип сотрудника Console.WriteLine("Unable to promote {0}. Wrong employee type", emp.Name); break;}Каждый входной тип уже является
EmployeecasetrueswitchcaseГлавный родительский класс: System.Object
В заключение мы займемся исследованием главного родительского класса
ObjectCarShapeEmployee// Какой класс является родительским для Car?class Car{...}В мире .NET Core каждый тип в конечном итоге является производным от базового класса по имени
System.ObjectobjectоObjectObjectObject// Явное наследование класса от System.Object.class Car : object{...}Подобно любому классу в
System.Objectvirtualstaticpublic class Object{<b> // Виртуальные члены.</b> public virtual bool Equals(object obj); protected virtual void Finalize(); public virtual int GetHashCode(); public virtual string ToString();<b> // Невиртуальные члены уровня экземпляра.</b> public Type GetType(); protected object MemberwiseClone();<b> // Статические члены.</b> public static bool Equals(object objA, object objB); public static bool ReferenceEquals(object objA, object objB);}В табл. 6.1 приведен обзор функциональности, предоставляемой некоторыми часто используемыми методами
System.Object
147
- Предыдущая
- 147/642
- Следующая
Перейти на страницу:
