mouthpiec
mouthpiec

Reputation: 4033

Selecting a range of items inside an array in C#

I would like to select a range of items in an array of items. For example I have an array of 1000 items, and i would like to "extract" items 100 to 200 and put them in another array.

Can you help me how this can be done?

Upvotes: 72

Views: 80442

Answers (1)

Marc Gravell
Marc Gravell

Reputation: 1062745

In C# 8, range operators allow:

var dest = source[100..200];

(and a range of other options for open-ended, counted from the end, etc)

Before that, LINQ allows:

var dest = source.Skip(100).Take(100).ToArray();

or manually:

var dest = new MyType[100];
Array.Copy(source, 100, dest, 0, 100);
       // source,source-index,dest,dest-index,count

Upvotes: 138

Related Questions