मैं यह सुनिश्चित करने के लिए अपने रन() फ़ंक्शन का परीक्षण कर रहा हूं कि इसमें विधि के अंत तक सभी सही चीजें हैं। मैं अपने डेटाबेस, दो तारों, और दो आईनेमरेबल (स्ट्रिंग) से 4 फ़ील्ड पॉप्युलेट करता हूं। विचार उन सभी लोगों के लिए प्रिंट करना है जिन्हें मैं डेटाबेस से खींच रहा हूं।कंसोल करता है। राइट कभी विफल हो जाता है?
जब मैं केवल स्ट्रिंग फ़ील्ड प्रिंट करता हूं, तो सब कुछ ठीक काम करता है। हालांकि, जब मैं संख्याओं को भी जोड़ने की कोशिश करता हूं, तो कुछ भी प्रिंट नहीं करता है। मैं काउंटर भी प्रिंट कर रहा हूं इसलिए मुझे पता है कि कार्यक्रम अभी भी चल रहा है और काम कर रहा है। क्या कंसोल कभी भी अंतरिक्ष या किसी और चीज के कारण कुछ भी प्रिंट नहीं करने का फैसला करता है?
1
2
Email: [email protected], correspondance: John, PAM addresses: [email protected], famousPeople: foo, bar, foo
3
4
etc
समस्या है, केवल दो:
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);
}
तो, मेरी उत्पादन, के रूप में जब भी मैं कोड ऊपर चलाने के लिए, मैं इस तरह एक आउटपुट मिलता है:
यहाँ कोड है कि यह करता है कुल (~ 425) में से लोग दिखाते हैं, बाकी रेखाएं केवल संख्याएं हैं। क्या मुझे कम से कम "ईमेल" तार और "पत्राचार" नहीं मिलना चाहिए? ऐसा लगता है जैसे कंसोल बस कुछ भी नहीं करने का फैसला कर रहा है। और मुझे पता है कि कोड को उस तक पहुंचना चाहिए क्योंकि यह कंसोल को कॉल करने से पहले मैं पूर्णांक को प्रिंट करता हूं। राइटलाइन()।
दूसरी तरफ, जब भी मैं दो स्ट्रिंग फ़ील्ड मुद्रित करने के लिए कहता हूं, तो कंसोल सभी 425 उपयोगकर्ताओं के लिए दोनों फ़ील्ड प्रदर्शित करता है, ठीक उसी पूर्णांक के बाद। क्या किसी को पता है कि यहाँ क्या हो रहा है? टीआईए
कंसोल। अगर जो कुछ भी सुन रहा है तो विफल हो सकता है। क्या आपके पास कोई कस्टम श्रोताओं संलग्न हैं या क्या आप इसे कमांड लाइन से चला रहे हैं? –
इसका परीक्षण करने के लिए कोई समय नहीं है, लेकिन कुछ रनटाइम्स में यदि आप शून्य के साथ मिलते हैं, तो अंतिम परिणाम शून्य है। उस चीज़ में कोई भी शून्य जो आप शामिल हो रहे हैं? – MatthewMartin
अपने 'कंसोल। राइटलाइन' लाइन पर एक ब्रेक पॉइंट सेट करें, और जांचें कि सभी चरों में मूल्य हैं? – Shaharyar