Изменена неверная переменная массива

Вы должны использовать эту перегрузку Union () (с помощью специального сопоставления равенства) или что-то вроде этого:

list1.Concat(list2).GroupBy(x => x.DateProperty).Select(m => m.First());

Первое решение, безусловно, более эффективно.

-2
задан AShinyBlueColour 23 February 2019 в 16:02
поделиться

1 ответ

Имея

    float leftArray[numberOfDatums/2];
    float rightArray[numberOfDatums/2];

в

       if (i >= numberOfDatums/2)
        {
            //leftArray SOMEHOW GETS CHANGED INSTEAD OF RIGHT ARRAY
            rightArray[i] = dataValues[i];

вы выходите из rightArray и случайным образом записываете в leftArray (конечно, это неопределенное поведение)

должно быть

       if (i >= numberOfDatums/2)
        {
            rightArray[i - numberOfDatums/2] = dataValues[i];

Кроме того, иметь

       if (i < numberOfDatums/2)
        {
            ...
        }
        if (i >= numberOfDatums/2)

с i без изменений бесполезно, второе , если может быть , еще , но также лучше сделать два для , чтобы не делать numberOfDatums/2 все время, просто чтобы решить, какой массив использовать.

0
ответ дан bruno 23 February 2019 в 16:02
поделиться
Другие вопросы по тегам:

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