কম্পিউটার

সি# এ ফাঙ্ক প্রতিনিধি এবং অ্যাকশন প্রতিনিধির মধ্যে পার্থক্য কী?


একটি প্রতিনিধি হল একটি প্রকার যা একটি নির্দিষ্ট পরামিতি তালিকা এবং রিটার্ন টাইপ সহ পদ্ধতির রেফারেন্স উপস্থাপন করে। যখন আমরা একটি প্রতিনিধিকে ইনস্ট্যান্টিয়েট করি, তখন আমরা একটি সামঞ্জস্যপূর্ণ স্বাক্ষর এবং রিটার্ন টাইপের সাথে যেকোন পদ্ধতির সাথে এর উদাহরণ সংযুক্ত করতে পারি। আমরা ডেলিগেট ইন্সট্যান্সের মাধ্যমে পদ্ধতিটি আহ্বান (বা কল) করতে পারি।

ফাঙ্ক প্রতিনিধি

Func হল একটি জেনেরিক প্রতিনিধি যা সিস্টেম নামস্থানে অন্তর্ভুক্ত। এটিতে শূন্য বা তার বেশি ইনপুট প্যারামিটার এবং একটি আউট প্যারামিটার রয়েছে। শেষ প্যারামিটারটিকে আউট প্যারামিটার হিসাবে বিবেচনা করা হয়। এই প্রতিনিধি একটি পদ্ধতি নির্দেশ করতে পারে যা 16 প্যারামিটার পর্যন্ত নেয় এবং একটি মান প্রদান করে৷

নিচে দুটি ইনপুট এবং একটি আউটপুট প্যারামিটার সহ 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 Print;

উদাহরণ

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. C# এ String.Copy() এবং String.Clone() পদ্ধতির মধ্যে পার্থক্য কী?

  2. C# এ একটি ইন্টারফেস এবং একটি ক্লাসের মধ্যে পার্থক্য কী?

  3. C# এ স্ট্রিং এবং স্ট্রিং এর মধ্যে পার্থক্য কি?

  4. পাইথনে একটি স্ট্রিং এবং একটি বাইট স্ট্রিংয়ের মধ্যে পার্থক্য কী?