কম্পিউটার

C# এ একটি পদ্ধতিতে বিভিন্ন ধরণের পরামিতি কী কী?


সি# এ পদ্ধতিগুলি হল সাধারণত একটি প্রোগ্রামের কোড বা স্টেটমেন্টের ব্লক যা ব্যবহারকারীকে একই কোড পুনরায় ব্যবহার করার ক্ষমতা দেয় যা শেষ পর্যন্ত মেমরির অত্যধিক ব্যবহার সংরক্ষণ করে, সময় বাঁচানোর কাজ করে এবং আরও গুরুত্বপূর্ণ, এটি কোডের আরও ভাল পাঠযোগ্যতা প্রদান করে।

এমন কিছু পরিস্থিতিতে হতে পারে যে ব্যবহারকারী একটি পদ্ধতি চালাতে চায় কিন্তু কখনও কখনও সেই পদ্ধতির কাজগুলি চালানো এবং সম্পূর্ণ করার জন্য কিছু মূল্যবান ইনপুট প্রয়োজন। এই ইনপুট মানগুলি প্যারামিটার নামে পরিচিত .

পরামিতিগুলি নিম্নলিখিত উপায়ে একটি পদ্ধতিতে প্রেরণ করা যেতে পারে -

  • মান পরামিতি

  • রেফারেন্স প্যারামিটার

  • আউটপুট পরামিতি

মান প্যারামিটার

মান প্যারামিটার ফাংশনের আনুষ্ঠানিক প্যারামিটারে একটি আর্গুমেন্টের প্রকৃত মান কপি করে। যখন একটি সাধারণ ভেরিয়েবলকে কোনো পদ্ধতিতে প্যারামিটার হিসাবে পাস করা হয়, তখন এটি একটি মান হিসাবে পাস করা হয়। এর মানে হল যে প্যারামিটার হিসাবে পাস করা ভেরিয়েবলের মধ্যে থাকা মানটি পদ্ধতির ভেরিয়েবলগুলিতে অনুলিপি করা হয় এবং যদি পদ্ধতির ভিতরে এই মানগুলি পরিবর্তন বা পরিবর্তিত হয়, তবে পরিবর্তনটি প্রকৃত পাস করা ভেরিয়েবলে প্রতিফলিত হয় না। পূর্ণসংখ্যা, দ্বিগুণ, বুলিয়ান ইত্যাদির মতো বেশিরভাগ আদিম ডেটা প্রকারগুলি মান দ্বারা পাস করা হয়৷

উদাহরণ

using System;
namespace MyApplication{
   public class Program{
      public static void Main(){
         int x = 5, y = 5;
         Console.WriteLine($"Value before calling the method. x = {x}, y = {y}");
         ValueParamter(x, y);
         Console.WriteLine($"Value after calling the method. x = {x}, y = {y}");
      }
      public static void ValueParamter(int x, int y){
         x = 10;
         y = 10;
         int z = x + y;
         Console.WriteLine($"Sum of x and y = {z}");
      }
   }
}

আউটপুট

উপরের কোডের আউটপুট নিম্নরূপ &mius;

পদ্ধতিতে কল করার আগে
Value before calling the method. x = 5, y = 5
Sum of x and y = 20
Value after calling the method. x = 5, y = 5

রেফারেন্স প্যারামিটার

রেফারেন্স প্যারামিটার আনুষ্ঠানিক প্যারামিটারে একটি আর্গুমেন্টের মেমরি অবস্থানের রেফারেন্স কপি করে। সাধারণত, সমস্ত বস্তু রেফারেন্স দ্বারা পদ্ধতির পরামিতি হিসাবে পাস করা হয়। পদ্ধতিটি প্যারামিটারে পাস করা ভেরিয়েবলের রেফারেন্সের উপর কাজ করে বরং তাদের মানগুলিতে কাজ করে। এর ফলে কলিং ফাংশনে ভেরিয়েবলের পরিবর্তন হয় যখন কল ফাংশনে পরিবর্তন করা হয়। এর মানে হল প্যারামিটারে করা পরিবর্তন আর্গুমেন্টকে প্রভাবিত করে।

উদাহরণ

using System;
namespace MyApplication{
   public class Program{
      public static void Main(){
         int x = 5, y = 5;
         Console.WriteLine($"Value before calling the method. x = {x}, y = {y}");
         RefParamter(ref x, ref y);
         Console.WriteLine($"Value after calling the method. x = {x}, y = {y}");
      }
      public static void RefParamter(ref int x, ref int y){
         x = 10;
         y = 10;
         int z = x + y;
         Console.WriteLine($"Sum of x and y = {z}");
      }
   }
}

আউটপুট

উপরের কোডের আউটপুট নিম্নরূপ -

পদ্ধতিতে কল করার আগে
Value before calling the method. x = 5, y = 5
Sum of x and y = 20
Value after calling the method. x = 10, y = 10

আউটপুট পরামিতি

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

উদাহরণ

using System;
namespace MyApplication{
   public class Program{
      public static void Main(){
         int result;
         OutParamter(out result);
         Console.WriteLine($"Result: {result}");
      }
      public static void OutParamter(out int result){
         int x = 10, y = 10;
         result = x + y;
      }
   }
}

আউটপুট

The output of the above code is as follows:
Result: 20

  1. জাভা 9 এ বিভিন্ন মডিউল প্রকার কি কি?

  2. পাইথনে বিভিন্ন বিটওয়াইজ অপারেটর কি কি?

  3. পাইথনে বিভিন্ন আইডেন্টিটি অপারেটর কি কি?

  4. পাইথনে বিভিন্ন ধরনের উদ্ধৃতি কি কি?