字符串数组中的NULL

Gok*_*kul 3 c# character-arrays

如何删除字符串数组中的Null值

像{, - 2,3, - 4,+ 5,,66 ...}

我需要删除其间的空值并重新调整数组大小

  1. 我不想使用列表

  2. 我不想创建一个新的数组

如果可以使用简单的代码,请告诉我.谢谢.

Guf*_*ffa 16

不,没有创建新阵列是不可能的.您无法调整阵列的大小.

您可以轻松地创建一个没有空字符串的新数组和这样的空引用:

string[] items = new string[] { "", "-2", "3", null, "-4", "+5", null, "66" };

items = items.Where(s => !String.IsNullOrEmpty(s)).ToArray();
Run Code Online (Sandbox Code Playgroud)


Dan*_*Tao 9

如果你不想创建一个新数组,那么不,这是不可能的.您无法在简单数组中添加删除项目(如,string[]).

实现您想要实现的目标的最直接方式(如果您删除第二个要求)将是:

  1. 计算源数组中的空值数
  2. 创建一个与源数组长度相同的新数组减去步骤1中的空值数
  3. 将源数组中的所有非空值复制到新数组中
  4. (可选)将源数组(例如)的引用设置为srcArray新数组