C# 清除字符串数组

C# 清除字符串数组,c#,string,C#,String,清除字符串数组的最简单方法是什么?您尝试过吗 Array.Clear(theArray, 0, theArray.Length); 请注意,这不会改变数组的大小-任何操作都不会改变。相反,它会将每个元素设置为null 如果您需要可以改变大小的东西,请使用列表: List<string> names = new List<string> { "Jon", "Holly", "Tom" }; names.Clear(); // After this, names will

清除字符串数组的最简单方法是什么?

您尝试过吗

Array.Clear(theArray, 0, theArray.Length);
请注意,这不会改变数组的大小-任何操作都不会改变。相反,它会将每个元素设置为null

如果您需要可以改变大小的东西,请使用
列表

List<string> names = new List<string> { "Jon", "Holly", "Tom" };
names.Clear(); // After this, names will be genuinely empty (Count==0)
List name=新列表{“Jon”、“Holly”、“Tom”};
name.Clear();//在此之后,名称将真正为空(Count==0)

这取决于环境(比如:数组中有什么),但最好的方法通常是创建一个新的数组。删除对旧引用的所有引用

 MyType[] array = ...
 ....

 array = new MyType[size];
字符串[]foo


foo=字符串[“”]

我想你也可以这样做,例如: SearchTerm=新字符串[]{}

怎么样

string[] foo;
foo = null;
你可以试试这个

result = result.Where(x => !string.IsNullOrEmpty(x)).ToArray();

清除阵列?什么意思是“清除”?这不会编译-清除不是一个实例方法,也不是无参数的。谢谢!我不明白为什么在string方法下找不到clear。当然,答案是它是一个数组方法。我现在可能已经知道了这一点,但是如果你只是将字符串数组设置为null,那么会释放内存还是必须调用
数组。清除
?@codeblude:两者都不是。您没有将数组设置为
null
——而是将变量设置为null。当没有对数组的活动引用时,它将有资格进行垃圾收集(但不会立即进行GC'd)。如果该数组中有仅由该数组引用的元素,那么它们也可以进行垃圾收集。
result = result.Where(x => !string.IsNullOrEmpty(x)).ToArray();