अधिक भार .NET फ्रेमवर्क में मैं लगातार निम्नलिखित की तरह अतिभारित कार्यों को देखते हैं,सी # पैरामीटर कीवर्ड और समारोह
public void Log(string message)
...public void Log(string message, params object[] args)
...
मेरे सवाल के बाद से है पैराम कीवर्ड शून्य या अधिक पैरामीटर की अनुमति देता है, क्या हम पहले हस्ताक्षर से छुटकारा पा सकते हैं? केवल दूसरे हस्ताक्षर के साथ, मैं इसे नीचे दिए गए पैरामीटर के साथ कॉल कर सकता हूं, इसलिए मुझे नहीं पता कि उनके पास पहला हस्ताक्षर क्यों होगा?
Log("calling with no param");
जेफरी रिक्टर:
मिलीसेकंड एक बहुत ही सरल (
count++
) प्रत्येक के साथ विधि बुलाने की 1 अरब पुनरावृत्तियों के लिए लिया अपनी पुस्तक [सीएलआर के माध्यम से सी #] (http://oreilly.com/catalog/9780735627048) इसमें अधिक विस्तार से जाता है; अनिवार्य रूप से आप सही हैं, यह अनावश्यक सरणी ओवरहेड्स (निर्माण, पहुंच और कचरा संग्रह) से बचने के लिए एक अनुकूलन है। – Bevan@ बेवन: मुझे यह भी उनकी पुस्तक से पता चला है :) –
ध्यान दें कि यदि आप 'प्रारूप ("foo", null) कहते हैं तो' फ़ंक्शन का दूसरा संस्करण 'args == null' के साथ कहा जाएगा। –