पद्धती हे एका क्लासमध्ये परिभाषित केलेली फंक्शन्स आहेत. C# समृद्ध पॅरामीटर वैशिष्ट्यांना समर्थन देते — वैकल्पिक/नामांकित arguments, ref/out/in modifiers, arrays — आणि (समान नावाच्या अनेक पद्धती परंतु वेगवेगळ्या पॅरामीटर्स सह).
paramspublic int Add(int a, int b) => a + b; // expression-bodied (concise)
public string Greet(string name, string greeting = "Hello") // default parameter
{
return $"{greeting}, {name}";
}
Greet("Ann"); // "Hello, Ann"
Greet("Ann", greeting: "Hi"); // named argument
पद्धती एक return type, नाव, आणि पॅरामीटर्स निर्दिष्ट करतात. Default parameters arguments ला वैकल्पिक बनवतात, आणि नामांकित arguments आपल्याला नावाने pass करू देतात (स्पष्ट, वैकल्पिकांना skip करू शकतात).
// ref — pass by reference (method can modify the caller's variable)
void Increment(ref int x) { x++; }
int n = 5; Increment(ref n); // n is now 6
// out — for returning multiple values (must be assigned in the method)
bool TryParse(string s, out int result) { result = ...; return true; }
if (int.TryParse("42", out int value)) { } // the common TryX pattern
// in — pass by reference but READ-ONLY (performance for large structs)
void Process(in LargeStruct data) { }
out हा TryParse pattern मध्ये व्यापकपणे वापरला जातो (एक success flag आणि परिणाम सुरक्षितपणे returning); ref caller च्या व्हेरिएबलला modify करण्याची अनुमती देते; in मोठ्या structs ला कॉपीविना कार्यक्षमतेने pass करते.
// params — variable number of arguments
int Sum(params int[] numbers) => numbers.Sum();
Sum(1, 2, 3, 4); // any number
// OVERLOADING — same name, different parameters
void Print(int x) { }
void Print(string s) { }
void Print(int x, int y) { }
Print(5); // calls the int version — resolved by argument types
ओव्हरलोडिंग एकाधिक पद्धतीना नाव शेअर करू देते, पॅरामीटर types/count द्वारे वेगळे केली जातात — compiler जुळणारी निवडते. params वेरिएबल संख्येच्या arguments ला स्वीकारते.
पद्धती C# मध्ये वर्तनाचे मूलभूत घटक आहेत, आणि त्यांच्या समृद्ध पॅरामीटर वैशिष्ट्यांना समजून घेणे लवचिक, अभिव्यक्तिशील कोड लिहिण्यासाठी महत्वाचे आहे.
पद्धती परिभाषित करण्याचे ज्ञान (संक्षिप्त expression-bodied syntax सह), default आणि नामांकित parameters वापरा (वैकल्पिक arguments आणि वाचनीय calls साठी), आणि पद्धती ओव्हरलोडिंग लागू करा (समान नाव, वेगवेगळे parameters — intuitive APIs साठी जे वेगवेगळे argument types संभाळतात) हे दैनंदिन ज्ञान आहे.
पॅरामीटर modifiers विशेषतः समजून घेण्यासाठी महत्वाचे आहेत: out hे ubiquitous TryParse pattern मध्ये व्यापकपणे वापरले जाते (int.TryParse(s, out var result) — सुरक्षितपणे एक success flag आणि परिणाम returning exceptions विना, एक common, idiomatic C# pattern), ref caller च्या व्हेरिएबलला modify करण्यास सक्षम करते, आणि in performance साठी reference द्वारे मोठ्या structs pass करते.
यांचे समज — पद्धती, पॅरामीटर वैशिष्ट्य (optional/named/params), flexible APIs साठी ओव्हरलोडिंग, आणि ref/out/in modifiers (विशेषतः out-based TryParse idiom) — C# methods लिहिण्यासाठी आणि अनेक .NET APIs वापरण्यासाठी मूलभूत आहे जे या वैशिष्ट्यांवर अवलंबून आहेत.
पद्धती आणि त्यांचे parameters सर्व C# कोडचा केंद्रबिंदू असल्यामुळे, आणि overloading, optional parameters, आणि TryX pattern सारखी वैशिष्ट्य सतत दिसत असल्यामुळे, त्यांमा mastery करणे प्रभावी C# development साठी मूलभूत, अवश्य-ज्ञान आहे.