我正在測試我的run()函數,以確保它具有在方法結尾填充所有正確的東西。我從我們的數據庫,兩個字符串和兩個IEnumerable(字符串)填充4個字段。這個想法是把所有的人都從數據庫中打印出來。Console.Write是否會失敗?
當我只打印字符串字段,一切工作正常。但是,當我嘗試添加Enumerables時,也沒有任何打印。我還打印了一個櫃檯,所以我知道該程序仍在運行並正在運行。由於空間或其他原因,控制檯是否決定不打印任何內容?
下面是做它的代碼:
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: [email protected], correspondance: John, PAM addresses: [email protected], famousPeople: foo, bar, foo
3
4
etc
問題是,只有兩個總數(〜425)中的人出現,其餘的線只是數字。我不應該至少得到字符串「電子郵件」和「通信」嗎?看來控制檯只是決定不做任何事情。我知道代碼必須達到它,因爲它在打電話給Console.WriteLine()之前打印出整數。
在另一方面,每當我只是要求要打印兩個字符串字段,控制檯顯示所有用戶425這兩個領域,其相應的整數之後。有人知道這裏發生了什麼? TIA
Console.Write可能會失敗,如果任何正在監聽它失敗。你有沒有附加任何自定義偵聽器,或者你只是從命令行運行它? –
沒時間去測試它,但是在某些運行時如果你用null連接,最終的結果是null。你正在加入的東西是否爲空? – MatthewMartin
在你的'Console.WriteLine'行設置一個斷點,並檢查所有變量是否都有值? – Shaharyar