Может кто-нибудь помочь мне с этой задачей или объяснить, как это сделать?

, если вы этого не сделали, вы можете сделать несколько вещей

git stash 

. Это задержит ваши изменения и вернет вас к правильному источнику - вы можете захотеть их позже.

или git reset --hard

Это приведет к уничтожению различий в рабочем дереве (вы не можете вернуть свои изменения)

Если вы хотите очистить любой невоспроизведенный файлов git reset будет недостаточно, и вы должны использовать

git clean -f

. Это приведет к удалению любых файлов из отслеживаемого корневого каталога, которые не находятся под контролем Git.

Нет вам нужно сделать выбор заранее, если вы в курсе последних событий.

Если вы сделали это (я предполагаю, что вы сделали это в 1 фиксации), вы можете сделать

git reset --hard HEAD^

. Это приведет к сбросу последнего фиксации и удалению полностью (используйте с осторожно, и если вы беспокоитесь, используйте soft, а затем верните его, как только вы проверите, что он перепроверял.)

-5
задан Wannes Colman 19 January 2019 в 21:59
поделиться

2 ответа

public void ShortenArray()
{
    int[] getallen = new int[] { 1 , 1 , 2 , 2 , 3 , 4 , 4 , 4 , 5 , 6 };
    getallen = getallen.ToList().Distinct().ToArray();
}

Объяснение:

Linq-List предоставляет метод Distinct (). Этот метод удаляет дубликаты, но сохраняет порядок. Кроме того, Linq дает вам возможность конвертировать массивы в список и наоборот.

Альтернативный способ сделать это - проверить каждый элемент в массиве, если он уже установлен ранее, заменить элементы таким образом, чтобы все «пустые» значения были в конце, и использовать массив * Array. .Resize (/ ** /) * метод для сокращения массива. Намного больше работы, чтобы достичь того же результата.

0
ответ дан GeorgeDuke 19 January 2019 в 21:59
поделиться

Чтобы сгенерировать {1,2,3,4,5,6} в качестве результатов (т.е. удалить дубликаты смежных записей), рассмотрите следующий подход:

using System;
using System.Collections.Generic;

namespace Test
{
    public class Program
    {
        public static IEnumerable<int> RemoveDuplicates(int[] input)
        {
            int? old = null;

            foreach (var value in input)
            {
                if (value != old)
                    yield return value;

                old = value;
            }
        }

        public static void Main()
        {
            int[] getallen = new int[] { 1, 1, 2, 2, 3, 4, 4, 4, 5, 6 };
            Console.WriteLine(string.Join(",", RemoveDuplicates(getallen)));

            Console.ReadLine();
        }
    }
}

IEnumerable<int> возвращает значения без использования массива, а yield return используется для возвращать неповторяющиеся записи, по одной за раз.

value сравнивается с old, чтобы гарантировать, что дубликаты смежных записей игнорируются.

string.Join используется для объединения значений вместе с , между ними, поэтому они хорошо печатаются на консоли.

С точки зрения производительности, изменение объявления old на int old = (input?.FirstOrDefault() ?? 1) + 1; также может помочь, так что обнуляемые типы не будут задействованы. Я предпочитаю оставить это как обнуляемый тип для ясности).

0
ответ дан mjwills 19 January 2019 в 21:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: