我正在测试我的run()函数,以确保方法结束时拥有所有正确的内容。我从我们的数据库中填充了4个字段,两个字符串和两个IEnumerable(string)。 我的想法是为从数据库中提取的所有人打印出这些内容。
当我只打印字符串字段时,一切都正常工作。 但是,当我尝试添加Enumerable时,根本没有打印任何内容。我还打印了一个计数器,以便知道程序仍在运行和工作。由于空间或其他原因,Console是否决定根本不打印任何东西?
以下是执行此操作的代码:
当我运行上述代码时,输出结果如下:
问题是,整个列表中(约425人)只有两个人出现了,其余的行都只是数字。我至少应该得到"Email"和", correspondence"这两个字符串吧?似乎控制台只是决定什么也不做。我知道代码必须到达这里,因为在调用Console.WriteLine()之前它打印了整数i。
另一方面,每当我只要求打印这两个字符串字段时,控制台就会显示所有425个用户的两个字段,紧接着它们相应的整数。有人知道这里发生了什么吗?谢谢。
当我只打印字符串字段时,一切都正常工作。 但是,当我尝试添加Enumerable时,根本没有打印任何内容。我还打印了一个计数器,以便知道程序仍在运行和工作。由于空间或其他原因,Console是否决定根本不打印任何东西?
以下是执行此操作的代码:
int i = 0;
foreach (Contact contact in Contact.LoadWithPredicate(getAll))
{
-------other code to populate fields---------
i ++;
Console.WriteLine(i);
//Turn the Enumerables into strings for printing
string firstEnumAsString = String.Join(", ", firstEnumerable.ToArray());
string secondEnumAsString = String.Join(", ", secondEnumerable.ToArray());
Console.WriteLine("Email: " + firstString+ ", correspondance: " + secondString+ ", PAM addresses: " + firstEnumAsString+ ", famousPeople: " + secondEnumAsString);
}
当我运行上述代码时,输出结果如下:
1
2
Email: foo@bar.com, correspondance: John, PAM addresses: bar@foo.com, famousPeople: foo, bar, foo
3
4
etc
问题是,整个列表中(约425人)只有两个人出现了,其余的行都只是数字。我至少应该得到"Email"和", correspondence"这两个字符串吧?似乎控制台只是决定什么也不做。我知道代码必须到达这里,因为在调用Console.WriteLine()之前它打印了整数i。
另一方面,每当我只要求打印这两个字符串字段时,控制台就会显示所有425个用户的两个字段,紧接着它们相应的整数。有人知道这里发生了什么吗?谢谢。
+
无论如何都会调用String.Concat
方法(并将 null 转换为 String.Empty)。 - Christry/catch
捕获了异常,对吧? - Chris Sinclair