मैं कुछ डेटा फ़िल्टर करने का प्रयास कर रहा हूं जो मुझे मिला है। सबसे पहले, डेटा निम्न के रूप में लाया जाता है:

List<task> method1(){    
return context.Tasks.where(x => x.date < Datetime.Today()).Tolist();
}

तो मैं निम्नलिखित करने की कोशिश करता हूं:

void method2(){
List<task> tasks1 = method1();
}

अब तक मैंने डिबगर द्वारा दिखाए गए 6 रिकॉर्ड के साथ कार्यों की सूची भर दी है। लेकिन जब मैं इस सूची को लिंक करने का प्रयास करता हूं तो मुझे एक शून्य संदर्भ अपवाद मिलता है> कार्य 1 6 कार्यों की एक सूची है।

List<Task> tasks2 = tasks1.where(x => x.something.Equals("123")).tolist();

डीबग करने और गहराई से गोता लगाने के लिए, मैंने कोड को इस प्रकार अलग करने का प्रयास किया:

var q = tasks1.where(x => x.something.Equals("123"));
  List<Task> tasks2 = q.tolist();

डिबगिंग करते समय मुझे निम्न डेटा मिला

q: {वर्तमान = शून्य, गैर-सार्वजनिक-सदस्य: {वर्तमान = ..., गणनाकर्ता = ..., विधेय = ..., .... और कुछ और फ़ील्ड,}}

यह त्रुटि क्यों है? और इसे कैसे ठीक करें?

-1
Galilo Galilo 25 अप्रैल 2019, 21:13

1 उत्तर

सबसे बढ़िया उत्तर

आपके द्वारा साझा किए गए कोड से, अशक्त संदर्भ अपवाद का एकमात्र कारण Equals की विधि को इस भाग में एक अशक्त संपत्ति पर कॉल करना हो सकता है:

Where(x => x.something.Equals("123"))

जिसका अर्थ है कि सूची में कम से कम एक आइटम की something संपत्ति null है।
आपके पास इसे संभालने के विभिन्न तरीके हैं, जिनमें से एक यह हो सकता है:

Where(x => x.something != null && x.something.Equals("123"))
3
Aleks Andreev 25 अप्रैल 2019, 20:25