Здравствуйте, есть класс к которому нельзя прибавить больше 1 значения, в классе идет индексация эллементов, и прочии действия)
Ну и покскольку меня немного раздражает все время писать
StringLink = StringLink + 1;
Кто-то скажет "а ты не пиши так, а пиши так +=
", но это было для примера, да и наглядней писать так))
public static StringLink operator +(StringLink a, int b)
{
//логика
}
Прошу помочь перегрузить оператор ++
Пример:
using System;
namespace ConsoleApplication
{
class MyPoint
{
private int x, y, z;
public MyPoint(int x = 0, int y = 0, int z = 0)
{
this.x = x;
this.y = y;
this.z = z;
}
public static MyPoint operator ++(MyPoint obj1)
{
obj1.x++;
obj1.y++;
obj1.z++;
return obj1;
}
public override string ToString()
{
return $"{x}, {y}, {z}";
}
}
class Program
{
static void Main(string[] args)
{
MyPoint point = new MyPoint(1, 12, -4);
Console.WriteLine($"Точка: {point}.");
point++;
Console.WriteLine($"Точка: {point}.");
Console.ReadKey();
}
}
}
P.S. Большинство препроцессоров заменят a = a + 1
или a += 1
на a++
, так как для инкремента и декремента в процессорах есть отдельные инструкции.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
ЗдравствуйтеМожете помочь? Пользователь открывает выбранный архив и как сделать отображение списка файлов архива в wpf c#?