如果您不想使用列表:
var foos = new List<Foo>(array);foos.RemoveAt(index);return foos.ToArray();
您可以尝试我尚未实际测试过的这种扩展方法:
public static T[] RemoveAt<T>(this T[] source, int index){ T[] dest = new T[source.Length - 1]; if( index > 0 ) Array.Copy(source, 0, dest, 0, index); if( index < source.Length - 1 ) Array.Copy(source, index + 1, dest, index, source.Length - index - 1); return dest;}
并像这样使用它:
Foo[] bar = GetFoos();bar = bar.RemoveAt(2);
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)