Как нарезать элементы из 2-го элемента в массиве c#? - PullRequest
0 голосов
/ 05 апреля 2020

Учитывая массив 1D,

double[] arr = { 4, 3, 2, 8, 7, 6, 1 };

Я хочу получить значения от 2-го индекса до последнего и хочу сохранить массив в переменной. Хотите получить что-то вроде этого:

new_arr = {3, 2, 8, 7, 6, 1 }; //first element sliced

Ответы [ 3 ]

1 голос
/ 05 апреля 2020

Если вы используете C# 8, вы можете использовать Индексы и диапазон . Это выглядит примерно так:

var newArray = oldArray[1..];  // Takes everything from index 1 until the end.
1 голос
/ 05 апреля 2020

Вы можете использовать Linq, чтобы пропустить первый элемент и взять остальное. Это даст вам последовательность:

arr.Skip(1);

, которую вы можете преобразовать в новый массив следующим образом:

var new_arr = arr.Skip(1).ToArray();
1 голос
/ 05 апреля 2020

Вы можете использовать C# 8 индексы и диапазоны функция

double[] arr = { 4, 3, 2, 8, 7, 6, 1 };
var slice = arr[1..];

Он вернет все элементы с индекса 1 до конца массива и даст ожидаемый фрагмент {3, 2, 8, 7, 6, 1 }. Опять же, он работает только с C# 8 и. NET Core 3.x.

Для самых ранних версий C# вы должны сделать это самостоятельно, например, используя Array.Copy или System.Linq

double[] arr = { 4, 3, 2, 8, 7, 6, 1 };
var slice = arr.Skip(1).ToArray();
...