当前位置:  开发笔记 > 编程语言 > 正文

如何计算数组的长度而不包含NULL?

如何解决《如何计算数组的长度而不包含NULL?》经验,为你挑选了1个好方法。

我已经创建了这样的数组

string[] directories = new string[15];

然后我想像这样做点什么

for (int i = 0; i < directories.Length; i++) {
   //code
}

用户可以根据需要在数组中输入任意数量的目录,但是如果不向其中输入14个元素,则数组的其余部分显然将为NULL,并且for循环不会停止,直到到达第14个元件。如何使循环在数组的最后一个目录处停止而不计入NULL?

我已经尝试过,但是它返回以下错误:System.NullReferenceException:'对象引用未设置为对象的实例。

for (int i = 0; i < directories .Length; i++) {
   //code

   string directory = directories[i];

   if (directory.Equals(null)){
      return;
   }

   // more code
}

谢谢您,对您缺乏经验和英语不好对不起。



1> Ross Gurbutt..:

尝试:。

directories.Count(x => x != null):

如果您始终可以保证在第一个空值之后,其他所有内容都为空,那么以下内容将替代代码中的if语句,并且比上面的linq更有效:

if (directory == null)
    break;

break关键字可以防止c#中的任何循环。

如果您真的想在数组中有一组值,然后是一组空值,那么您是否考虑过使用列表而不是数组?

推荐阅读
小色米虫_524
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有