Непонятная конструкция switch

Рейтинг: 0Ответов: 1Опубликовано: 24.02.2023

введите сюда описание изображения

В каких ситуациях используется такая конструкция switch? В моем случае в зависимости от переданного в конструктор класса значения enum должно произойти определенное действие. Как мне может помочь такая конструкция?

Ответы

▲ 0Принят

Вместо throw new NotImplementedException();, реализуйте необходимые вам действия.

В данный момент, если поле _dataEmployee, является значениями DataEmployee.FirstName, DataEmployee.LastName,DataEmployee.PhoneNumber илиDataEmployee.Description у вас срабатывают исключения. А если _dataEmployee не одно из этих значений, в object value возвратится null.

Т.е. если бы вы реализовали так:

object value = _dataEmployee switch
{
    DataEmployee.FirstName => 1,
    DataEmployee.LastName => 2,
    DataEmployee.PhoneNumber => 3,
    DataEmployee.Description => 4,
    _ => null
};

И в случае, если _dataEmployee равно значению DataEmployee.FirstName, то в object value возвратится 1, а если _dataEmployee равно DataEmployee.LastName, то возвратится 2 и т.д.

Вместо этих значений 1,2,3,4 вам как раз нужно определить необходимые вам действия.

PS

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