Здравствуйте. У меня есть готовая работа: Удалить элементы из массива по значению . Но я не могу разобраться с кодом. Сможете ли вы добавить комментарии?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
{
class MyClass
{
public static void delByIndex(ref int[] data, int delIndex)
{
int[] newData = new int[data.Length - 1];
for (int i = 0; i < delIndex; i++)
{
newData[i] = data[i];
}
for (int i = delIndex; i < newData.Length; i++)
{
newData[i] = data[i + 1];
}
data = newData;
}
public static void delByValue(ref int[] data, int delValue)
{
for (int i = 0; i < data.Length; i++)
{
if (data[i] == delValue)
{
delByIndex(ref data, i);
i--;
}
}
}
}
class Program
{
static void Main(string[] args)
{
MyClass p = new MyClass();
int[] data = new int[] { 2, 4, 2, 8, 2, 2, 3, 7 };
Console.WriteLine("исходный массив:");
for (int i = 0; i < data.Length; i++)
Console.Write(data[i] + " ");
Console.WriteLine("Введите элемент, который необходимо удалить:");
int n = Int32.Parse(Console.ReadLine());
MyClass.delByValue(ref data, n);
Console.WriteLine("новый массив:");
for (int i = 0; i < data.Length; i++)
Console.Write(data[i] + " ");
Console.ReadKey();
}
}
}