Перегрузка операторов в C# позволяет тебе переопределить, как встроенные операторы работают с твоими пользовательскими типами, такими как классы и структуры. Это делает код более интуитивным и читаемым при работе с объектами, которые ты создал.
Чтобы перегрузить оператор, следуй этим шагам:
operator с модификатором static+, -, *)Вот как перегрузить оператор + для пользовательского класса Vector:
public class Vector
{
public int X { get; set; }
public int Y { get; set; }
public Vector(int x, int y)
{
X = x;
Y = y;
}
// Перегрузка оператора +
public static Vector operator +(Vector v1, Vector v2)
{
return new Vector(v1.X + v2.X, v1.Y + v2.Y);
}
}
После определения перегруженный оператор можно использовать как обычно:
Vector vector1 = new Vector(1, 2);
Vector vector2 = new Vector(2, 3);
Vector result = vector1 + vector2; // Вызывает перегруженный оператор +
// result: X = 3, Y = 5
Методы перегрузки операторов в C# должны быть объявлены как static и public, и как минимум один параметр должен быть определяемого пользовательского типа.
Новый — ещё не проверен сообществом
Вы