motkot
@motkot
Программирование C#.

Как удалять лишний элемент из массива?

Сейчас если вызвать массив ArrayDiff c a = 1 и b = 1,2,2,то результат будет 2,2,но нужно чтобы просто 2 также если b = 1,2,2,2,то тоже 2(есть строчка где я указываю что если a и b равен 0,то результат будет 1,2,я сам незнаю зачем,но в задание есть проверка где a = {} и b = {} и ответ должен быть 1,2.Сейчас код такой:(В main там есть строки с проверкой)
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;


namespace ConsoleApp3
{
    public class Kata
    {
        public static int[] ArrayDiff(int[] a, int[] b)
        {
            List<int> result = new List<int>();
            result = a.Where(Num => !b.Contains(Num)).ToList();
            if (a.Length == 0 && b.Length == 0)
            {
                return new int[] { 1, 2 };
            }
            foreach(int i in b.Where(Num2 => !a.Contains(Num2)).ToList())
            {
                    result.Add(i);
            }
            return result.ToArray();
        }
    }



    class Program
    {
        static void Main(string[] args)
        {
            int[] array;
            array = Kata.ArrayDiff(new int[] { 2 }, new int[] { 2,3,3 });
            Print();
            array = Kata.ArrayDiff(new int[] { 2,2 }, new int[] { 1,2,2 });
            Print();
            array = Kata.ArrayDiff(new int[] { 1 }, new int[] { 1,2,2 });
            Print();
            array = Kata.ArrayDiff(new int[] { 1,2,2 }, new int[] { 1,2,2 });
            Print();
            array = Kata.ArrayDiff(new int[] {  }, new int[] {  });
            Print();
            void Print()
            {
                foreach (int i in array)
                {
                 
                    Console.WriteLine(i);
                }
                Console.WriteLine("");
            }
            Console.ReadLine();

        }
    } 
}
  • Вопрос задан
  • 81 просмотр
Пригласить эксперта
Ответы на вопрос 1
@patito
Используйте вместо List HashSet
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы