Дом развитие Что такое оператор преобразования? - определение из техопедии

Что такое оператор преобразования? - определение из техопедии

Оглавление:

Anonim

Определение - что означает оператор преобразования?

Оператор преобразования в C # - это оператор, который используется для объявления преобразования для определенного пользователем типа, так что объект этого типа может быть преобразован в или из другого определенного пользователем типа или базового типа. Два различных типа пользовательских преобразований включают в себя неявные и явные преобразования.

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

Явный оператор преобразования должен вызываться с помощью приведения и используется, когда преобразование должно быть видимым для пользователей оператора. Он используется в выражениях приведения, где два типа данных не полностью совместимы и поэтому требуют оператора приведения.

Оператор неявного преобразования прост в использовании. Он не требует специального синтаксиса и улучшает читаемость кода. Это также помогает классу преобразовывать данные типа данных в его совместимый тип без приведения типов. Неявное приведение должно использоваться в ситуациях, таких как вызовы и назначения членов функции, где нет риска потери данных или возникновения исключений.

Техопедия объясняет Оператор преобразования

Неявное преобразование может быть определено для класса с помощью ключевого слова «implicit» вместе с ключевым словом «operator». Явная операция преобразования может быть определена для класса с помощью ключевого слова «явный» и ключевого слова «оператор». Оба преобразования должны быть определены как статические.

Например, класс RomanNumeral может быть определен с двумя операторами преобразования. Оператор неявного преобразования может быть определен для преобразования из класса RomanNumeral в строку для отображения числа в римской числовой форме; Оператор явного преобразования может быть определен для выполнения преобразования из класса RomanNumeral в целое число.

Преобразование класса в тип объекта или интерфейсный тип не допускается. То же самое касается преобразования из базового класса в класс, производный от базового класса.

Для данного класса как явные, так и неявные операторы нельзя указывать для преобразования из одного типа в другой.

Следует позаботиться о том, чтобы неявное преобразование не привело к потере данных или исключению. Если есть веские причины для исключения, преобразование должно быть явного типа.

Это определение было написано в контексте C #
Что такое оператор преобразования? - определение из техопедии