2011-01-10 13 views
7

मैं नीचे LINQ क्वेरी का उपयोग कर रहा हूं।LINQ - अनुक्रम में कोई तत्व नहीं है

object.collection.where(t => t.id.Equals("2")).First(); 

मैं त्रुटि हो रही है "अनुक्रम कोई तत्व शामिल हैं"। नतीजे में कोई तत्व क्यों नहीं होता है जब परिणाम में कोई तत्व नहीं होता है? जब कोई परिणाम नहीं मिलेगा तो क्या यह शून्य वापस नहीं आना चाहिए? एसक्यूएल का उपयोग करते समय यही होता है।

उत्तर

16

यह डिज़ाइन के रूप में काम कर रहा है। पहली() विधि को बुलाया जाना चाहिए जब इसे ज्ञात किया जाए तो कम से कम एक पंक्ति वापस कर दी जाएगी। जब यह मामला नहीं है, तो FirstOrDefault() पर कॉल करें।

+1

कारण वहाँ दो प्रथम वेरिएंट हैं आसान डिबगिंग बनाने के लिए विशिष्ट अपवाद प्राप्त करने के लिए है। एक अस्पष्ट शून्य संदर्भ अपवाद के बजाय, आपको एक और विशिष्ट "क्रम में कोई तत्व नहीं है" मिलता है। –

संबंधित मुद्दे