我有一个Foo对象数组。如何删除数组的第二个元素?
我需要类似于RemoveAt()常规数组的东西。 问题来源于stack overflow
如果您不想使用列表:
var foos = new List (array); foos.RemoveAt(index); return foos.ToArray(); 您可以尝试我尚未实际测试过的这种扩展方法:
public static T[] RemoveAt (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);
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。