检查第一个未填充的数组元素C#

时间:2014-11-27 22:19:01

标签: c# arrays for-loop

我目前正在开发一款用于管理学生的控制台应用。我已经设置了类和方法,它们是可访问的。但是,当我正在编辑"添加"方法,我使用for循环创建一个INTEGER,其中包含包含""的数组元素。

我用

for (int i = 0; p.students[i] != ""; i++)
{
    Console.WriteLine(i);
    Console.ReadKey();
}

它应该从ZERO开始,如果i ="" ....的值的数组元素,它将i加1并重新开始。然而它似乎停在0.我知道前3个元素有内容而第4个元素是""。

知道我做错了吗?

提前致谢, 布赖恩

2 个答案:

答案 0 :(得分:1)

首先使用表达式

p.students[i] != ""

因为循环条件是一种非常糟糕的做法。

您可以使用以下代码制作它:

for (var i = 0; i < p.students.Lenght; i++)
{
   if(p.students[i] == string.Empty)
   { 
      Console.WriteLine(i);
      Console.ReadKey();
   }
}    

答案 1 :(得分:0)

使用LINQ:

p.students.Select((s, i) => new { Student = s, Num = i })
          .Where(e => e.Student == string.Empty)
          .ToList().ForEach(e => Console.WriteLine(e.Num));