Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> C#

सी # में फंक प्रतिनिधि और एक्शन प्रतिनिधि के बीच क्या अंतर है?

एक प्रतिनिधि एक प्रकार है जो एक विशेष पैरामीटर सूची और वापसी प्रकार के साथ विधियों के संदर्भों का प्रतिनिधित्व करता है। जब हम एक प्रतिनिधि को तत्काल करते हैं, तो हम उसके उदाहरण को किसी भी विधि के साथ संगत हस्ताक्षर और वापसी प्रकार के साथ जोड़ सकते हैं। हम प्रतिनिधि उदाहरण के माध्यम से विधि का आह्वान (या कॉल) कर सकते हैं।

फ़ंक प्रतिनिधि

Func सिस्टम नेमस्पेस में शामिल एक सामान्य प्रतिनिधि है। इसमें शून्य या अधिक इनपुट पैरामीटर और एक आउट पैरामीटर है। अंतिम पैरामीटर को आउट पैरामीटर माना जाता है। यह प्रतिनिधि एक ऐसी विधि की ओर संकेत कर सकता है जिसमें अधिकतम 16 पैरामीटर होते हैं और एक मान लौटाता है।

नीचे दो इनपुट और एक आउटपुट पैरामीटर के साथ Func प्रतिनिधि है।

Func<स्ट्रिंग, स्ट्रिंग, स्ट्रिंग> संलग्न करें;

उदाहरण

using System;
namespace DemoApplication {
   class Program {
      static void Main(string[] args) {
         Func<string, string, string> func = Append;
         string fullName = func("Michael", "Jackson");
         Console.WriteLine(fullName);
         Console.ReadLine();
      }
      static string Append(string firstName, string lastName) {
         return firstName + lastName;
      }
   }
}

आउटपुट

MichaelJackson

कार्रवाई प्रतिनिधि

क्रिया एक प्रतिनिधि प्रकार है जिसे सिस्टम नेमस्पेस में परिभाषित किया गया है। एक क्रिया प्रकार प्रतिनिधि Func प्रतिनिधि के समान है सिवाय इसके कि क्रिया प्रतिनिधि कोई मान वापस नहीं करता है। दूसरे शब्दों में, एक क्रिया प्रतिनिधि का उपयोग उस विधि के साथ किया जा सकता है जिसमें शून्य वापसी प्रकार होता है। इसमें न्यूनतम 1 और अधिकतम 16 इनपुट पैरामीटर हो सकते हैं और इसमें कोई आउटपुट पैरामीटर नहीं होता है।

नीचे दो इनपुट और एक आउटपुट पैरामीटर के साथ Func प्रतिनिधि है।

Func<स्ट्रिंग, स्ट्रिंग,> प्रिंट;

उदाहरण

using System;
namespace DemoApplication {
   class Program {
      static void Main(string[] args) {
         Action func = AppendPrint;
         func("Michael", "Jackson");
         Console.ReadLine();
      }
      static void AppendPrint(string firstName, string lastName) {
         string fullName = firstName + lastName;
         Console.WriteLine($"{fullName}");
      }
   }
}

आउटपुट

उपरोक्त कोड का आउटपुट है

MichaelJackson

  1. सी # में इंटरफेस और क्लास के बीच क्या अंतर है?

    एक इंटरफ़ेस फ़ील्ड या विधि कार्यान्वयन के बिना एक वर्ग है। यह परिभाषित विधियों को लागू नहीं कर सकता है। एक वर्ग आम तौर पर एक इंटरफ़ेस में परिभाषित विधियों को लागू करता है। इंटरफ़ेस इंटरफेस गुणों, विधियों और घटनाओं को परिभाषित करते हैं, जो इंटरफेस के सदस्य हैं। इंटरफेस में केवल सदस्यों की घोषणा होत

  1. सी # में स्ट्रिंग और स्ट्रिंग के बीच क्या अंतर है?

    String System.String के लिए खड़ा है जबकि string System.String के लिए C# में एक उपनाम है - उदाहरण के लिए string str = "Welcome!"; यह आवश्यक नहीं है, लेकिन आम तौर पर जब आप कक्षाओं के साथ काम करते हैं तो स्ट्रिंग का उपयोग किया जाता है। string str = String.Format("Welcome! {0}!", u

  1. पायथन में स्ट्रिंग और बाइट स्ट्रिंग में क्या अंतर है?

    एक स्ट्रिंग वर्णों का एक क्रम है; ये एक अमूर्त अवधारणा हैं, और इन्हें सीधे डिस्क पर संग्रहीत नहीं किया जा सकता है। एक बाइट स्ट्रिंग बाइट्स का एक क्रम है - चीजें जो डिस्क पर संग्रहीत की जा सकती हैं। उनके बीच मानचित्रण एक एन्कोडिंग है - इनमें से बहुत सारे हैं (और असीम रूप से कई संभव हैं) - और आपको यह