4
A
回答
13
数组的长度是不变的,但你可以不空""
字符串创建一个新的数组:
string[] newArray = myArray.Where(str => str != "").ToArray();
6
如果它是一个字符串数组,你可以这样做:
string[] results = theArray.Where(s => !string.IsNullOrWhitespace(s)).ToArray();
如果你只是去重复的结果,有没有必要转换回一个数组,你可以在最后离开关.ToArray()
。
编辑:
如果你只是想删除最后一个单元格,而不是空项(由您编辑的版本建议),你可以做到这一点使用Array.Copy比更有效地利用上面的LINQ声明:
string[] results = new string[theArray.Length - 1];
Array.Copy(theArray, results, results.Length);
0
- 创建新阵列等于现有阵列大小-1
- aNewArray = aOldArray
Ofcourse,你可以只空的最后一个元素数组中,但是这将导致问题以后。否则,请使用一个很好的灵活列表。
2
var newArraySize = oldArray.Length - 1;
var newArray = new string[newArraySize];
Array.Copy(oldArray, newArray, newArraySize);
0
如果你一直想摆脱过去的元素,
int[] a = new[] {1, 2, 3, 4, 5};
int[] b = new int[a.Length - 1];
Array.Copy(a, b, a.Length - 1);
5
数组是一个固定大小的集合对象。这使得它对于你想要做的事情来说可悲的不足。你可以做的最好的是创建另一个一个少一个元素。这太贵了。
解决真正的问题,这应该是一个List<string>
,现在它的简单。
8
呃...只是调整它
Array.Resize(ref theArray, theArray.Length -1);
从文档
公共静态无效调整大小(参照T []数组,整数新尺寸)
相关问题
- 1. C++从字符串中删除字符
- 2. 从c字符串中删除字符
- 3. C从字符串中删除字符
- 4. 从C字符串中删除字符
- 5. 从C中删除字符串C
- 6. 删除阵列/阵列列表中的重复字符串
- 7. 从字符串C#删除点字符
- 8. 删除字符串单元阵列
- 9. C++删除C字符串/其他类型的阵列
- 10. C++从char中删除子字符串
- 11. 从字符串c中删除单词#
- 12. 从字符串中删除重音C
- 13. 从C中删除字符串#
- 14. 从字符串中删除字符串
- 15. 从字符串中删除字符串
- 16. 从JSON字符串中删除空阵列成员
- 17. 从列表中删除字符串
- 18. 从字符串中删除“
- 19. 从字符串中删除
- 20. 从字符串中删除()
- 21. 从字符串中删除“@”
- 22. 删除c字符串中的字符
- 23. 从C中的字符串开头删除子字符串
- 24. 从字符串c中删除单引号字符C++
- 25. 从字符串列表中删除子字符串
- 26. 从字符串中删除字符
- 27. Python:从字符串中删除字符
- 28. 从字符串中删除字符
- 29. datagridview从字符串中删除'&'字符
- 30. jQuery从字符串中删除' - '字符
阵列可包含任何对象/类型。所以请给你的问题多一点意义。理想情况下,提供输入数组和所需输出数组的示例。甚至更好:展示你到目前为止已经尝试解决无法解决的问题。在简单的话:[提出问题](http://msmvps.com/blogs/jon_skeet/archive/2010/08/29/writing-the-perfect-question.aspx)。 – 2011-03-31 20:51:14