Язык программирования 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();
}
Когда к оператору
case
when
SalesNumber
SalesPerson
Employee
case
s
SalesPerson
case
case SalesPerson s when s.SalesNumber > 5:
Такие новые добавления к
is
switch
Использование отбрасывания вместе с операторами switch (нововведение в версии 7.0)
Отбрасывание также может применяться в операторах
switch
switch (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;
}
Каждый входной тип уже является
Employee
case
true
switch
case
Главный родительский класс: System.Object
В заключение мы займемся исследованием главного родительского класса
Object
Car
Shape
Employee
// Какой класс является родительским для Car?
class Car
{...}
В мире .NET Core каждый тип в конечном итоге является производным от базового класса по имени
System.Object
object
о
Object
Object
Object
// Явное наследование класса от System.Object.
class Car : object
{...}
Подобно любому классу в
System.Object
virtual
static
public 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
- Следующая
Перейти на страницу: