मैं दूसरा क्या केवीबी कहता हूं। इसके अतिरिक्त, मैं new
छोड़ देता हूं क्योंकि इससे मुझे सी # की तरह, सीधे ऑब्जेक्ट पर सदस्यों को सीधे आमंत्रित करने की अनुमति मिलती है। उदाहरण के लिए, का पालन कोड काम करता है: मैं आदेश प्राप्त करने के लिए new
अभिव्यक्ति बीच में लिखना करने की जरूरत है
new DateTime(2012, 12, 21).ToString()
तो अब:
DateTime(2012, 12, 21).ToString()
निम्नलिखित कोड नहीं काम करते हैं और एक संकलक त्रुटि में परिणाम नहीं करता है यह संकलन करने:
(new DateTime(2012, 12, 21)).ToString()
मैं अतिरिक्त कोष्ठक पसंद नहीं है, इसलिए मैं अब new
प्रयोग से बचें।
एक केस जहां मैं अभी भी इसका उपयोग करूँगा, जब मैं ऐसी वस्तु बना रहा हूं जो IDisposable
लागू करता है।
इस में
let writeFile =
let writer = StreamWriter(@"hello.txt")
writer.WriteLine("hello")
परिणाम:: इसका कारण यह है कि अगर मैं new
कीवर्ड को छोड़ देते हैं, जब एक IDisposable
एफ # संकलक बनाने एक चेतावनी देता है
warning FS0760: It is recommended that objects that support the IDisposable interface are created using 'new Type(args)' rather than 'Type(args)' to indicate that resources may be owned by the generated value
मैं new
में जोड़कर चेतावनी से छुटकारा पा सकते कीवर्ड:
let writeFile =
let writer = new StreamWriter("hello.txt")
writer.WriteLine("hello")
चेतावनी भी एहसास है कि मैं वास्तव में एक use
मेरी 01,238,111 के लिए बाध्यकारी होना चाहिए मुझे का कारण बनता है:
let writeFile =
use writer = new StreamWriter("hello.txt")
writer.WriteLine("hello")
लेकिन अगर मैं new
हर समय उपयोग करने के लिए मेरे कोड लिखा था तो मैं चेतावनी मुझे याद दिलाया कि मैं एक IDisposable
साथ काम कर रहा हूँ कभी नहीं मिलेगा !!!
यह भी कम टाइपिंग के लिए बनाता है। ;-)
सबसे अच्छा विकल्प लगता है, हाँ। – Stringer