Files
PowerShell/src/System.Management.Automation/engine/ComInterop/CollectionExtensions.cs
T
2016-03-30 20:01:33 -07:00

44 lines
1.2 KiB
C#

#if !CORECLR
/********************************************************************++
Copyright (c) Microsoft Corporation. All rights reserved.
--********************************************************************/
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Diagnostics;
using System;
namespace System.Management.Automation.ComInterop {
internal static class CollectionExtensions {
internal static T[] RemoveFirst<T>(this T[] array) {
T[] result = new T[array.Length - 1];
Array.Copy(array, 1, result, 0, result.Length);
return result;
}
internal static T[] AddFirst<T>(this IList<T> list, T item) {
T[] res = new T[list.Count + 1];
res[0] = item;
list.CopyTo(res, 1);
return res;
}
internal static T[] ToArray<T>(this IList<T> list) {
T[] res = new T[list.Count];
list.CopyTo(res, 0);
return res;
}
internal static T[] AddLast<T>(this IList<T> list, T item) {
T[] res = new T[list.Count + 1];
list.CopyTo(res, 0);
res[list.Count] = item;
return res;
}
}
}
#endif