मैं foreach का उपयोग किए बिना linq चुनिंदा कथन में पहली पंक्ति का चयन कैसे कर सकता हूं?LINQ पहले पंक्ति चुनें
मैं foreach का उपयोग करें और फिर तोड़ना; लेकिन यह एक बेहतर तरीका होना चाहिए?
मुझे पहली पंक्ति में मूल्य प्राप्त करना पसंद है; प्लस जांचें कि कोई पंक्ति नहीं मिली है। मेरी समस्या पूर्वानुमान के बिना मूल्य प्राप्त करना है।
मैं अपने डेटाटेबल में एक मूल्य खोजने के लिए क्या करता हूं और मुझे पता है कि पंक्ति uniqe है; तो मुझे एक चयन करना और मूल्य प्राप्त करना पसंद है; के साथ साथ एक जांच अगर वहाँ सुरक्षा के लिए कोई हिट है ... :)
इस कोड को मैं अब का उपयोग है, रूण
var var_QUERY_linq =
from vm_TABLE_PK in vco_DataTable_PK.AsEnumerable()
where vm_TABLE_PK.Field<Int32>("MyField_Int32") == vmp_ROW_Counter_Int32
select vm_TABLE_PK;
foreach (DataRow o_DataRow in var_QUERY_linq)
{
vmp_Return_string = o_DataRow.Field<string>("Myfield_nvarchar");
break;
}
मेरा मानना है कि अशक्त जांच कभी भी कुछ भी ऊपर हो जाएगा जब तक कि आप FirstOrDefault उपयोग कर रहे हैं न । मेरा मानना है कि आप क्या चाहते हैं। सबसे पहले() इसके बजाय। –
। फर्स्ट() कुछ भी वापस नहीं होने पर अपवाद और अपवाद करता है, जबकि फर्स्टऑरडिफॉल्ट() वापस लौटाता है (हर स्थिति में मैंने देखा है। –
@ डेविड हॉल सही है। सबसे पहले (अगर आप उम्मीद कर रहे हैं कि हमेशा एक होना चाहिए या अधिक रिकॉर्ड ताकि अगर ऐसा न हो तो आपको अपवाद मिलेगा। अगर आप किसी रिकॉर्ड की संभावना की उम्मीद कर रहे हैं, तो FirstOrDefault() का उपयोग करें और शून्य के लिए जांचें और उचित तरीके से संभाल लें। –