मुझे पता है कि आप row.count या tables.count देख सकते हैं, लेकिन क्या यह बताए जाने के अन्य तरीके हैं कि कोई डेटासेट खाली है या नहीं?सी # में, डेटासेट खाली होने पर परीक्षण करने का सबसे अच्छा तरीका क्या है?
उत्तर
मैं की तरह कुछ सुझाव है: -
bool nonEmptyDataSet = dataSet != null &&
(from DataTable t in dataSet.Tables where t.Rows.Count > 0 select t).Any();
संपादन: मैं काफी कारण पर विचार के बाद कोड को साफ कर दिया है, मुझे लगता है कि यह बहुत क्लीनर है। केनी के उपयोग के बारे में प्रेरणा के लिए बहुत धन्यवाद .एनी()।
public static class ExtensionMethods {
public static bool IsEmpty(this DataSet dataSet) {
return dataSet == null ||
!(from DataTable t in dataSet.Tables where t.Rows.Count > 0 select t).Any();
}
}
ध्यान दें, के रूप में कीथ ठीक ही मुझे अपने पद की टिप्पणियों में पर सही है, इस विधि भी जब काम करेंगे -:
कीथ के सुझाव के साथ लाइन में, यहाँ इस दृष्टिकोण का एक विस्तार विधि संस्करण है डेटा सेट शून्य है।
क्या
(aDataSet.Tables.Count == 0)
साथ गलत क्या है?
ऐसा लगता है कि लेखक को परिभाषित करता है "खाली डाटासेट" कोई तालिकाओं के साथ या खाली टेबल के किसी भी संख्या के साथ डाटासेट के रूप में। – vitule
यदि आप मूल पोस्ट देखते हैं (संपादन लिंक पर क्लिक करें) तो आप देखेंगे कि "या tables.count" जोड़ा गया है। उस परिवर्तन से पहले, मेरा प्रश्न समझदार था ... –
समस्या यह है कि 2013 एएसपी.नेट 4.0 के अनुसार यह है कि डेटासेट क्रैश – philw
स्पष्ट होने के लिए, आपको पहले सभी डेटाटेबल्स को देखने की आवश्यकता होगी, और फिर प्रत्येक डेटाटेबल के लिए पंक्तियों की गिनती देखें।
मैं सिर्फ उस उद्देश्य
कोड नीचे एक अंग्रेजी वाक्य की तरह पढ़ना चाहिए के लिए एक छोटे से स्थिर util वर्ग बनाया है।
public static bool DataSetIsEmpty(DataSet ds)
{
return !DataTableExists(ds) && !DataRowExists(ds.Tables[0].Rows);
}
public static bool DataTableExists(DataSet ds)
{
return ds.Tables != null && ds.Tables.Count > 0;
}
public static bool DataRowExists(DataRowCollection rows)
{
return rows != null && rows.Count > 0;
}
मैं बस नीचे कोड की तरह कुछ डालूंगा और इसके साथ किया जाएगा। लिखने योग्य कोड लिखना गिनती है।
if (DataAccessUtil.DataSetIsEmpty(ds)) {
return null;
}
मुझे लगता है कि यह एक ऐसा स्थान है जहां आप सी # 3 में एक विस्तार विधि का उपयोग कर सकते हैं ताकि सुगमता में सुधार हो सके।
तथ्य यह है कि विस्तार के तरीकों हमेशा संकलक इस भले ही डाटासेट जाँच की जा रही रिक्त है काम करेंगे द्वारा विस्तारित किया जाता है के कारणkronoz के विचार का उपयोग करना ...
public static bool IsNotEmpty (this dataset)
{
return dataSet != null && (
from DataTable t in dataSet.Tables
where t.Rows.AsQueryable().Any()
select t).AsQueryable().Any();
}
//then the check would be
DataSet ds = /* get data */;
ds.IsNotEmpty();
।
संकलन समय पर इस बदल गई है:
ds.IsNotEmpty();
//becomes
DataSetExtensions.IsNotEmpty(ds);
यह एक अच्छा विचार है, हालांकि pedantic होने के लिए t.Rows.Any() लाइन डेटासेट के रूप में संकलित नहीं होगी .ables। पंक्तियां DataRowCollection है जो IENumerable
ओह, और अधिक गंभीर रूप से महत्वपूर्ण होने के लिए खेद है, लेकिन डेटासेट शून्य होने पर एक्सटेंशन विधि काम नहीं करेगी, बल्कि NullReferenceException उठाया जाएगा। इसके अलावा IsEmpty() इसके विपरीत के विपरीत लौट रहा है - यह इंगित करता है कि यह * खाली नहीं है !! – ljs
प्रतिक्रिया के लिए धन्यवाद। हालांकि यह नल के साथ काम करेगा। – Keith
#region Extension methods
public static class ExtensionMethods
{
public static bool IsEmpty(this DataSet dataSet)
{
return dataSet == null || dataSet.Tables.Count == 0 || !dataSet.Tables.Cast<DataTable>().Any(i => i.Rows.Count > 0);
}
}
#endregion
क्या यह एक अच्छा विचार है और फिर "मैन्युअल" उस तरह की सभी पंक्तियों के माध्यम से जांचें? – Kache
- 1. निर्देशिका खाली करने का सबसे अच्छा तरीका क्या है?
- 2. RedirectToAction का परीक्षण करने का सबसे अच्छा तरीका क्या है?
- 3. स्ट्रिंगस्ट्रीम खाली करने का सबसे अच्छा तरीका?
- 4. रूबी पर रूबी में खाली अस्थायी निर्देशिका प्राप्त करने का सबसे अच्छा तरीका क्या है?
- 5. सी # परियोजना आयोजित करने का सबसे अच्छा तरीका क्या है?
- 6. किसी डेटासेट में डेल्फी सेट को स्टोर करने का सबसे अच्छा तरीका क्या है?
- 7. सेलेनियम में पुनर्निर्देशन करने का सबसे अच्छा तरीका क्या है?
- 8. सी # में अपवाद बढ़ाने का सबसे अच्छा तरीका क्या है?
- 9. धारावाहिक परीक्षण का सबसे अच्छा तरीका क्या है?
- 10. बैच ईमेल स्क्रिप्ट का परीक्षण करने का सबसे अच्छा तरीका
- 11. इकाई परीक्षण संग्रह का सबसे अच्छा तरीका?
- 12. डेल्फी एप्लिकेशन का परीक्षण करने का सबसे अच्छा तरीका
- 13. सत्र चर निर्धारित करने का सबसे अच्छा तरीका सी # में शून्य या खाली है?
- 14. क्लोजर में जीयूआई करने का सबसे अच्छा तरीका क्या है?
- 15. डेटाबेस कॉपी करने का सबसे अच्छा तरीका क्या है?
- 16. कमांड लाइन टूल्स का परीक्षण करने का सबसे अच्छा तरीका?
- 17. सीआरसी तर्क का परीक्षण करने का सबसे अच्छा तरीका?
- 18. एप्लिकेशन पूल को रीसाइक्लिंग होने पर एप्लिकेशन प्रारंभ करने का सबसे अच्छा तरीका क्या है?
- 19. फील्ड स्तर सत्यापन होने पर मोडल फॉर्म को रद्द करने का सबसे अच्छा तरीका क्या है?
- 20. रेल में स्टेजिंग/उत्पादन पर्यावरण का परीक्षण करने का सबसे अच्छा तरीका क्या है?
- 21. वेबसाइट पर वीडियो देने का सबसे अच्छा तरीका क्या है?
- 22. jQuery प्रदर्शन करने का सबसे अच्छा तरीका क्या है .change()
- 23. आईफोन पर स्वचालित यूआई परीक्षण करने का सबसे अच्छा तरीका क्या है?
- 24. स्प्रिंग-बैच में नौकरी प्रवाह का परीक्षण करने का सबसे अच्छा तरीका क्या है?
- 25. एक बीन शुरू करने का सबसे अच्छा तरीका क्या है?
- 26. परीक्षण करने का सबसे अच्छा तरीका यदि एक सामान्य प्रकार एक स्ट्रिंग है? (सी #)
- 27. सी # में टेक्स्टबॉक्स पर इनपुट प्रतिबंध लागू करने का सबसे अच्छा तरीका क्या है?
- 28. AppEngine मॉडल Memcaching करने का सबसे अच्छा तरीका क्या है?
- 29. तारों को पार्स करने का सबसे अच्छा तरीका क्या है?
- 30. एक आत्म-संदर्भित MySQL तालिका खाली करने का सबसे अच्छा तरीका क्या है?
ओच। मैंने इसे कई बार संपादित किया है, मुझे लगता है ... अब यह एक समुदाय पोस्ट है! ओह अच्छा। :-) – ljs