删除数组的前五个元素
string []a = new string[10]{"a","b","c","d","f","g","h","i","j","k"};怎样删除数组的前五个元素 要代码 .. wo 是菜鸟
--------------------编程问答-------------------- 能吗?不会 --------------------编程问答--------------------
--------------------编程问答-------------------- 呵呵 楼上的方法还没试过哈。还有这简单的方法啊。 --------------------编程问答--------------------
string[] a = new string[10] { "a", "b", "c", "d", "f", "g", "h", "i", "j", "k" };
a = a.Skip(5).ToArray();
--------------------编程问答-------------------- 我要的是删除不是跳过 --------------------编程问答-------------------- 我们是一伙的 ...正在测试...
string[] a = new string[10] { "a", "b", "c", "d", "f", "g", "h", "i", "j", "k" };
string[] b = a.Skip(5).ToArray();
--------------------编程问答--------------------
这不是一样吗? 相当一删除了前面5个 --------------------编程问答-------------------- 学习,没用过这个,试了下确实很好用
--------------------编程问答--------------------
string[] s = { "a", "b", "c", "d", "e" };
s = s.Skip(1).ToArray();
string result = null;
for (int i = 0; i < s.Length; i++)
{
result += s[i];
}
Response.Write(result);
//输出bcde
--------------------编程问答-------------------- 数组是连续分配空间的,所以不可能删除前五个元素还能保持他自己,倒是可以删除后五个元素。
string[] a = new string[10] { "a", "b", "c", "d", "f", "g", "h", "i", "j", "k" };
var b = a.ToList();
b.RemoveRange(0, 5);
a = b.ToArray();
你的需求删除也好,跳过也好,其实都是要另外建立一个数组,原数组部分拷贝过去实现的,没有删除一说。 --------------------编程问答-------------------- IndexOf() --------------------编程问答--------------------
这个方法完全可以得到你想要的结果。如果你非得说在原数组上删除的话,可以自己写个算法
如下:for (int i = 4; i < a.Length - 1; i++)
{
a[i - 4] = a[i + 1];
a[i + 1] = null;
}
//a = a.Take<string>(5).ToArray() ;因为数组初始化的时候是开辟连续的空间存放数据,不能想List等其他集合似的直接删除元素,所以只能将数组元素换位,而不能缩短原数组的长度,要实现长度也变短,就采用楼上提供的方法,或者a = a.Take<string>(5).ToArray() --------------------编程问答-------------------- 试试楼上的吧
补充:.NET技术 , ASP.NET