簡體   English   中英

如何從 c# 數組中的第 2 項切片元素?

[英]How to slice elements from 2nd item in a c# array?

給定一個一維數組,

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

我想從第二個索引到最后一個獲取值,並希望將數組存儲在一個變量中。 想要得到這樣的東西:

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

您可以使用 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.CopySystem.Linq

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

如果您使用的是 C# 8,則可以使用Indices & Range 它是這樣的:

var newArray = oldArray[1..];  // Takes everything from index 1 until the end.

您可以使用 Linq 跳過第一項並拿走 rest。 這將為您提供序列:

arr.Skip(1);

您可以將其轉換為這樣的新數組:

var new_arr = arr.Skip(1).ToArray();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM