How do I clone a range of array elements to a new array?

前端 未结 25 1300
北海茫月
北海茫月 2020-11-22 16:07

I have an array X of 10 elements. I would like to create a new array containing all the elements from X that begin at index 3 and ends in index 7. Sure I can easily write a

25条回答
  •  感情败类
    2020-11-22 16:37

    use extention method :

    public static T[] Slice(this T[] source, int start, int end)
        {
            // Handles negative ends.
            if (end < 0)
            {
                end = source.Length + end;
            }
            int len = end - start;
    
            // Return new array.
            T[] res = new T[len];
            for (int i = 0; i < len; i++)
            {
                res[i] = source[i + start];
            }
            return res;
        }
    

    and you can use it

    var NewArray = OldArray.Slice(3,7);
    

提交回复
热议问题