我想知道用空值替换数组中空字符串的最有效方法。
我有以下数组:
string[] _array = new string [10];
_array[0] = "A";
_array[1] = "B";
_array[2] = "";
_array[3] = "D";
_array[4] = "E";
_array[5] = "F";
_array[6] = "G";
_array[7] = "";
_array[8] = "";
_array[9] = "J";
并且我目前正在用以下内容替换空字符串:
for (int i = 0; i < _array.Length; i++)
{
if (_array[i].Trim() == "")
{
_array[i] = null;
}
}
可以在小型数组上正常工作,但是我正在寻找一些在执行任务时最高效的代码,因为正在使用的数组可能更大,并且我将一遍又一遍地重复此过程。
是否有linq查询或更有效的方法?
您可以考虑_array[i].Trim() == ""
使用string.IsNullOrWhitespace(_array[i])
进行切换,以避免分配新的字符串。但这几乎是您可以做的所有事情,以使其更快并且仍然保持顺序。LINQ不会比for
循环快。
您可以尝试将处理并行化,但这似乎是一个更大的更改,因此您应该评估一下在您的情况下是否还可以。
Parallel.For(0, _array.Length, i => {
if (string.IsNullOrWhitespace(_array[i]))
{
_array[i] = null;
}
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句