Используйте оператор is в C#

Оператор is позволяет определить, можно ли преобразовать объект в определенный тип. Например, предположим, что класс Student наследуется от Person и что student и person являются объектами очевидных классов , Затем, например, оператор student является Person возвращает true, потому что объект student может быть преобразован в Person object (потому что объект Student является видом объекта Person).

Эта программа использует следующий код для демонстрации инструкции is.

private void Form1_Load(object sender, EventArgs e)
{
    Person person = new Person();
    Student student = new Student();
    object obj = student;

    if (student is Student)
        lstResults.Items.Add("a_student is a Student");
    else
        lstResults.Items.Add("a_student is not a Student");

    if (student is Person)
        lstResults.Items.Add("a_student is a Person");
    else
        lstResults.Items.Add("a_student is not a Person");

    if (person is Person)
        lstResults.Items.Add("a_person is a Person");
    else
        lstResults.Items.Add("a_person is not a Person");

    if (person is Student)
        lstResults.Items.Add("a_person is a Student");
    else
        lstResults.Items.Add("a_person is not a Student");
}

В качестве альтернативы вы можете использовать ключевое слово as, чтобы попытаться преобразовать объект в другой тип. Например, следующий оператор пытается преобразовать объект Person в объект Student.

Student student = person as Student;

Источник: http://csharphelper.com/blog/2016/04/use-the-is-operator-in-c/

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Adblock
detector