我已经创建了这样的数组
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 }
谢谢您,对您缺乏经验和英语不好对不起。
尝试:。
directories.Count(x => x != null):
如果您始终可以保证在第一个空值之后,其他所有内容都为空,那么以下内容将替代代码中的if语句,并且比上面的linq更有效:
if (directory == null) break;
break关键字可以防止c#中的任何循环。
如果您真的想在数组中有一组值,然后是一组空值,那么您是否考虑过使用列表而不是数组?