Lambda Expressions and Anonymous Methods In Hindi
C# प्रोग्रामिंग लैंग्वेज में लैम्ब्डा एक्सप्रेशन और एनॉनिमस क्लास मेथड एक एडवांस्ड एसेंशियल फीचर्स हैं, जो C# प्रोग्रामर को बिना किसी फ़ॉर्मल क्लास मेथड डिक्लेरेशन के इनलाइन मेथड को डिफ़ाइन करने में हेल्प करते हैं। लैम्ब्डा एक्सप्रेशन और एनॉनिमस C# प्रोग्रामर को प्रोग्राम सोर्स कोड को आर्गुमेंट के रूप में पास करने में हेल्प करते हैं. जो की C# प्रोग्रामिंग में LINQ क्वेरी, इवेंट हैंडलिंग, और डेलीगेट, जैसे प्रोग्राम बिहेवियर सिनेरियो के लिए यूज़फुल है।

Lambda Expression in C#.
C# प्रोग्राम में एक यूजर डिफाइन लैम्ब्डा एक्सप्रेशन अप्लाई करने के लिए एक स्पेशल सिंटैक्स प्रोवाइड करके एनॉनिमस क्लास मेथड को रिप्रेजेंट करने का एक स्माल कांसेप्ट है। लैम्ब्डा एक्सप्रेशन का यूज़ ज्यादातर डेलीगेट मेथड के साथ किया जाता है. स्पेशली जब किसी क्लास में डाटा LINQ क्वेरी और अन्य प्रोग्राम कंडीशंस में जहाँ क्लास मेथड को वेरिएबल डाटा टाइप या पैरामीटर के रूप में पास किया जाता है।
Syntax of a lambda expression in C#.
(parameters) => expression_or_statement_block
Element of lambda expression in C#.
- Parameter – C# प्रोग्राम में डिफाइन लैम्ब्डा एक्सप्रेशन के इनपुट पैरामीटर (मेथड पैरामीटर की तरह) लैम्ब्डा क्लास प्रोग्राम में डिफाइन होते है।
- Arrow (=>) – यहाँ C# प्रोग्राम में क्लास पैरामीटर को लैम्ब्डा एक्सप्रेशन की बॉडी से सैपरेट डिफाइन करता है।
- Expression or statement block – यह एक लैम्ब्डा एक्सप्रेशन की डिक्लेअर बॉडी है, जो प्रोग्राम में या तो एक सिंगल एक्सप्रेशन या स्टेटमेंट ब्लॉक के रूप में हो सकता है।
Example of a lambda expression in C#.
तो चलिए C# प्रोग्राम में एक पैरामीटर वाला लैम्ब्डा को डिक्लेअर या डिफाइन कर बेहतर जाने की लैम्ब्डा एक्सप्रेशन क्या है, और यह C# प्रोग्राम में कैसे काम करता है.
Func<int, int, int> Total = (p, q) => p + q;
Console.WriteLine(Total(1, 2 )); // Result is – 3
Explanation of lambda expression.
- यहाँ इस एक्साम्प्ल में Function<int, int, int> एक यूजर डिफाइन डेलीगेट मेथड टाइप है, जो मोजूदा प्रोग्राम में इनपुट के रूप में दो इंटीजर वैल्यू p, q को एक्सेप्ट करता है, और आउटपुट के रूप में एक इंटीजर वैल्यू को रिटर्न करता है।
- जिसमे एक यूजर डिफाइन लैम्ब्डा एक्सप्रेशन Total = (p, q) => p + q; एक सिंपल इन्टिजर टोटल ऑपरेशन को रिप्रेजेंट करता है।
Lambda expression without parameters in C#.
यहाँ हम एक लैम्ब्डा एक्सप्रेशन क्रिएट करते है, जिसमे एक टेक्स्ट कंसोल मैसेज लैम्ब्डा एक्सप्रेशन एक्शन को परफॉर्म किया गया हो.
Info = () => Console.WriteLine(“Welcome to, Vcanhelpsu”);
Info(); // Result is – Welcome to, Vcanhelpsu
- यहाँ एक्शन के रूप में एक डेलीगेट टाइप मेथड है, जो मौजूदा लैम्ब्डा एक्सप्रेशन में कोई वैल्यू (यानी, वॉइड) वैल्यू को रिटर्न नहीं करता है।
- यहाँ डिफाइन लैम्ब्डा एक्सप्रेशन में Info = () => Console.WriteLine(“Welcome to, Vcanhelpsu”); कोई यूजर से इनपुट के रूप में वेरिएबल या पैरामीटर वैल्यू नहीं लेता है, और एक यूजर डिफाइन कंसोल स्क्रीन में मैसेज को प्रिंट करता है।
Lambda expression with multiple parameters and a statement block in C#.
Func<int, int, int> product = (p, q) =>
{
int output = p * q;
return output ;
};
Console.WriteLine(product(9, 3)); // Result is – 27
Multiple parameters and a statement block example.
यहाँ ऊपर दिए गए लैम्ब्डा एक्सप्रेशन में मल्टीप्लय करने और उसके आउटपुट रिजल्ट को डिस्प्ले करने के लिए एक लैम्ब्डा एक्सप्रेशन ({ } के साथ) के अंदर प्रोग्राम सोर्स कोड के एक ब्लॉक का यूज़ करता है।
a group of lambda expression example in c#.
using System;
class Program
{
static void Main()
{
// here we define a Lambda p, and q as lambda expression for addition two numbers
Func<int, int, int> Total = (p, q) => p + q;
Console.WriteLine(Total(1, 2)); // Result is – 3
// here we define Lambda expression with no variable parameters value
Action Info = () => Console.WriteLine(“Welcome to, Vcanhelpsu”);
Info(); // Result is – Welcome to, Vcanhelpsu
// here we define a Lambda expression for multiplication two integer
Func<int, int, int> product = (p, q) =>
{
int output = p * q;
return output;
};
Console.WriteLine(product(9, 3)); // Result is – 27
}
}
Using Lambda Expressions in C# LINQ.
C# प्रोग्रामिंग में लैम्ब्डा एक्सप्रेशन का यूज़ ज्यादातर LINQ क्वेरी में स्पेसिफिक प्रोग्राम डेटा इनफार्मेशन को फ़िल्टर करने, डाटा को मॉडिफाई करने या ग्रुप डाटा को कलेक्ट करने में किया जाता है।
using System;
using System.Collections.Generic;
using System.Linq;
class Program
{
static void Main()
{
List<int> integers = new List<int> { 8, 1, 22, 3, 100, 7, 122, 9 };
var oddintegers = integers.Where(n => n % 2 != 0).ToList();
foreach (var intgr in oddintegers)
{
Console.WriteLine(intgr); // Result is – 1 3 7 9
}
}
}
Explain Lambda Expressions.
- यहाँ इस प्रोग्राम में integers.Where(n => n % 2 != 0). एक यूजर डिफाइन LINQ मेथड है, जो दी गई लिस्ट डाटा को फ़िल्टर करने और सिर्फ़ विषम ओड नंबर सलेक्ट कर डिस्प्ले करने के लिए लैम्ब्डा एक्सप्रेशन को यूज़ करता है।
Anonymous Method in C#.
C# प्रोग्रामिंग में एनॉनिमस मेथड एक ऐसा यूजर डिफाइन क्लास प्रोग्राम मेथड है, जिसका प्रोग्राम में कोई नाम डिफाइन नहीं होता है. लेकिन इसे प्रोग्राम में जरूरत पड़ने पर इनलाइन के रूप में डिफाइन किया जा सकता है, और इसे एक क्लास में डिक्लेअर डेलीगेट को असाइन किया जा सकता है। C# प्रोग्राम में एनॉनिमस मेथड को स्पेशली तब यूज़ किया जाता हैं. जब C# यूजर किसी प्रोग्राम में अलग से नई क्लास मेथड को डिक्लेअर किए बिना डायरेक्ट क्लास आर्गुमेंट के रूप में एक प्रोग्राम सोर्स कोड को पास करना चाहते हैं।
syntax of an anonymous method in C# programming.
delegateType delegateName = delegate(parameters)
{
// here we can user define a class method body
};
element of anonymous method in C#.
- delegateType – यह मौजूदा प्रोग्राम एक्सप्रेशन में डेलीगेट का एक टाइप मेथड है, जिसे एक्टिव प्रोग्राम में एनॉनिमस मेथड के रूप में असाइन किया जाएगा।
- delegate(parameters) – यहाँ कीवर्ड delegate के बाद मेथड के लिए यूजर डिफाइन वेरिएबल पैरामीटर लिस्ट और क्लास मेथड बॉडी आती है।
Example of an anonymous method in C#.
using System;
delegate void DisplayDelegate(string company_name);
class Program
{
static void Main()
{
// here we define a Anonymous method assignment to the delegate
DisplayDelegate info = delegate (string company_name)
{
Console.WriteLine(“Hi, ” + company_name);
};
info(“Vcanhelpsu Edtech”); // Result is – Hi, Vcanhelpsu Edtech
}
}
Explanation of an anonymous method in C#.
- यहाँ इस प्रोग्राम में एक एनॉनिमस क्लास मेथड डेलीगेट delegate (string company_name) और { Console.WriteLine(“Hi, ” + company_name); } को DisplayDelegate डेलीगेट को असाइन करता है।
Lambda Expressions vs. Anonymous Methods in C#.
- जैसा की C# प्रोग्रामिंग में लैम्ब्डा एक्सप्रेशन और एनॉनिमस क्लास मेथड दोनों C# यूजर को इनलाइन मेथड डिक्लेअर या डिफाइन करने में हेल्प करते हैं. लेकिन यहाँ लैम्ब्डा एक्सप्रेशन और एनॉनिमस क्लास मेथड दोनों में अपने अपने यूनिक फंक्शन एंड फीचर्स हैं.
Lambda Expressions vs. Anonymous Methods Syntax.
- C# प्रोग्राम में डिक्लेअर लैम्ब्डा एक्सप्रेशन साइज में ज़्यादा स्माल और नैरेटिव होते हैं, और एरो => ऑपरेटर का यूज़ कर डिफाइन किए जाते हैं. वैसे ही C# क्लास प्रोग्राम में एनॉनिमस मेथड डेलीगेट कीवर्ड का यूज़ करके डिफाइन या डिक्लेअर किए जाते हैं।
Lambda Expressions vs. Anonymous Methods Return Data Type.
- C# प्रोग्राम में क्रिएट लैम्ब्डा एक्सप्रेशन में एक एक्सप्रेशन फंक्शन क्लास बॉडी या रिटर्न डाटा टाइप वैल्यू वाला स्टेटमेंट ब्लॉक डिफाइन हो सकता है।
- इसी प्रकार एनॉनिमस क्लास मेथड में हमेशा रिटर्न स्टेटमेंट को डिफाइन करने की ज़रूरत होती है, यदि मौजूदा प्रोग्राम में कोई वैल्यू रिटर्न करने की पॉसिबिलिटी डिफाइन हो।
Capturing Variables in Lambda Expressions vs. Anonymous Methods.
- C# प्रोग्रामिंग में लैम्ब्डा एक्सप्रेशन और एनॉनिमस क्लास मेथड दोनों ही एनक्लोजिंग स्कोप से पैरामीटर वैरिएबल वैल्यू को कैप्चर कर सकते हैं। जबकि, लैम्ब्डा एक्सप्रेशन लोकल वैरिएबल या पैरामीटर कैप्चर करने में ज़्यादा फ्लेक्सिबिलिटी और रिलायबिलिटी प्रोवाइड करते हैं।
Lambda Expressions vs. Anonymous Methods Type Inference.
- C# प्रोग्रामिंग में लैम्ब्डा एक्सप्रेशन टाइप इनफेरेंस का एडवांटेज ले सकते हैं, इसका मतलब है कि C# कंपाइलर अपने आप मौजूदा प्रोग्राम में एनोनिमस डेलीगेट टाइप को फाइंड कर सकते है। इसके अपोसिट, एनॉनिमस क्लास मेथड में डाटा टाइप इनफेरेंस की फ्रीक्वेंसी एक बराबर नहीं होती है।
Example comparison of lambda expressions and anonymous methods in C#.
using System;
class Program
{
delegate void PreviewDelegate(string info);
static void Main()
{
// here we define a Anonymous class method
PreviewDelegate text1 = delegate (string info)
{
Console.WriteLine(“\n this is a Anonymous method. ” + info);
};
text1(“\n Here We sucessfully test anonymous method \t”);
// here we use Lambda expression to display console screen message
PreviewDelegate print2 = (info) => Console.WriteLine(“\n this is a Lambda expression. ” + info);
print2(“\n Here We sucessfully test lambda expression\t”);
}
}
explanation of comparison of lambda expressions and anonymous methods.
- यहाँ इस प्रोग्राम में एनॉनिमस क्लास मेथड को delegate कीवर्ड का यूज़ कर डिक्लेयर किया जाता है, वैसे ही लैम्ब्डा एक्सप्रेशन => सिंटैक्स का यूज़ कर डिफाइन किया गया है।
- यहाँ प्रोग्राम आउटपुट के रूप में दोनों क्लास मेथड एक ही रिजल्ट प्रोवाइड करते हैं. जबकि यहाँ लैम्ब्डा एक्सप्रेशन का सिंटेक्स और डिक्लेरेशन अधिक स्माल है।
Using Lambda Expressions and Anonymous Methods with Events.
C# प्रोग्राम में इवेंट हैंडलिंग के लिए अधिकतर लैम्ब्डा एक्सप्रेशन और एनॉनिमस मेथड को अप्लाई किया जाता है। ये प्रोग्राम में क्लास मेथड को क्लियर आर्डर में डिफाइन किए बिना इवेंट हैंडलर क्रिएट करने का एक क्लियर और कॉम्पैक्ट मेथड प्रोवाइड करते हैं।
Example of using lambdas for event handling in a C# program.
using System;
class TestButton
{
public event EventHandler Click;
public void OnClick()
{
Click?.Invoke(this, EventArgs.Empty);
}
}
class Program
{
static void Main()
{
TestButton testbutton = new TestButton();
// here we Using the lambda expression for button event handling
testbutton.Click += (push, p) =>
{
Console.WriteLine(“Now Button is pressed”);
};
testbutton.OnClick(); // Result is – Now Button is pressed
}
}
Explanation of using lambdas for event handling.
- यहाँ इस प्रोग्राम में लैम्ब्डा एक्सप्रेशन (push, p) =>{ Console.WriteLine(“Now Button is pressed”); }; का यूज़ Click बटन इवेंट को हैंडल और मैनेज करने में किया जाता है।
C# Programming Lambda Expressions and Anonymous Methods Summary.
Lambda Expressions Summary.
- लैम्ब्डा एक्सप्रेशन आपको इनलाइन फ़ंक्शन क्रिएट करने का एक छोटा सा मेथड प्रोवाइड करते हैं।
- सामान्य रूप से C# प्रोग्रामिंग में LINQ, डेलीगेट्स और इवेंट्स के साथ इसका यूज़ होता है।
- लैम्ब्डा एक्सप्रेशन का सिंटैक्स: (parameters) => expression_or_statement_block के रूप में है.
- लैम्ब्डा एक्सप्रेशन प्रोग्राम में डायरेक्ट कोई वैल्यू रिटर्न कर सकते हैं, या प्रोग्राम सोर्स कोड के ब्लॉक का यूज़ कर सकते हैं।
Anonymous Method Summary.
- ये C# प्रोग्रामिंग में अननेम्ड क्लास मेथड को इनलाइन डिफाइन करने में हेल्प करते है, और उन्हें क्लास में यूज़ डेलीगेट्स को असाइन करते है।
- C# प्रोग्रामिंग में अनोनिमस सिंटेक्स: डेलीगेट (पैरामीटर्स) { // मेथड बॉडी}।
- में उन क्लास मेथड सिनेरियो में यूज़ किया जाता है, जहां पूरे प्रोग्राम में क्लास मेथड डेफिनिशन की ज़रूरत नहीं होती है।
Difference between Lambda Expressions and Anonymous Methods.
- C# प्रोग्राम में डिक्लेअर लैम्ब्डा एक्सप्रेशन सामान्य रूप से एनॉनिमस मेथड की तुलना में ज़्यादा छोटे फ्लेक्सिबल और रिलाएबल होते हैं।
- C# प्रोग्राम में लैम्ब्डा एक्सप्रेशन टाइप इंफरेंस को कम्पलीट सपोर्ट करते हैं, जबकि क्लास में यूज़ डिक्लेअर एनॉनिमस मेथड सपोर्ट नहीं करते हैं।
Using Lambda Expressions and Anonymous Methods.
- C# प्रोग्राम में लैम्ब्डा एक्सप्रेशन और एनॉनिमस क्लास मेथड दोनों कांसेप्ट का यूज़ प्रोग्राम इवेंट हैंडलिंग, पैरामीटर वेरिएबल लिस्ट डाटा LINQ क्वेरी और बिहेवियर को आर्गुमेंट के रूप में पास करने के लिए लार्ज स्केल पर किया जाता है।
