Перегрузка операторов - C# (181027)
Формулировка задачи:
Дошел до изучения перегрузки. Может решит кто-нибудь? Класс — одномерный массив. Дополнительно перегрузить следующую операцию != — проверка на неравенство массивов.
У меня есть такая же программа, но только со сложением массивов.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace peregruzka
{
class MyArr
{
// Координаты точки в трехмерном пространстве
public int[] a;
public MyArr(int[]a)
{
this.a = a;
}
public MyArr()
{
a = new int[5];
}
// Перегружаем бинарный оператор +
public static MyArr operator +(MyArr obj1, MyArr obj2)
{
MyArr arr = new MyArr();
for (int i=0;i<5; i++)
{
arr.a[i] = obj1.a[i] + obj2.a[i];
}
return arr;
}
}
class Program
{
static void Main(string[] args)
{
int[] a = new int[5];
int[] b = new int[5];
Random rnd = new Random();
for (int i = 0; i<5; i++)
{
a[i] = rnd.Next(1, 10);
b[i] = rnd.Next(10, 20);
}
Console.Write("Массив B: ");
for (int i = 0; i < 5; i++)
{
Console.Write( a[i] + " ");
}
Console.WriteLine();
Console.Write("Массив B: ");
for (int i = 0; i < 5; i++)
{
Console.Write( b[i] + " ");
}
Console.WriteLine();
MyArr Point1 = new MyArr(a);
MyArr Point2 = new MyArr(b);
MyArr Point3 = Point1 + Point2;
for (int i = 0; i < 5; i++)
{
Console.Write(Point3.a[i] + " ");
}
Console.ReadLine();
}
}
}Решение задачи: «Перегрузка операторов»
textual
Листинг программы
var isEquals = true; for (var i = 0; i< arr1.Length; i++) isEqueals = isEquals && (arr1[i] == arr2[i])