有没有一个函数可以从数组中删除最后一个单元格?
它是一个字符串数组,例如:
它是一个字符串数组,例如:
{"a","b","c",""}
。数组的长度是不可变的,但是您可以创建一个新的数组并删除其中为空的 ""
字符串:
string[] newArray = myArray.Where(str => str != "").ToArray();
嗯...只需调整大小
Array.Resize(ref theArray, theArray.Length -1);
来自文档
该函数用于调整数组大小,其中参数ref T[] array表示要调整大小的数组,int newSize表示新的数组大小。public static void Resize(ref T[] array, int newSize)
string[] results = theArray.Where(s => !string.IsNullOrWhitespace(s)).ToArray();
.ToArray()
。
string[] results = new string[theArray.Length - 1];
Array.Copy( theArray, results, results.Length );
数组是一个固定大小的集合对象,这使它对你想要做的事情非常不适用。最好的方法是创建一个新数组,它少了一个元素。这很昂贵。
解决真正的问题,这应该是一个List<string>
,现在就简单了。
var newArraySize = oldArray.Length - 1;
var newArray = new string[newArraySize];
Array.Copy(oldArray, newArray, newArraySize);
int[] a = new[] {1, 2, 3, 4, 5};
int[] b = new int[a.Length - 1];
Array.Copy(a, b, a.Length - 1);
当然你可以将数组中的最后一个元素设置为null,但这会导致后续出现问题。否则,使用一个灵活的列表。