কম্পিউটার

C# এ দুটি প্রশ্ন চিহ্ন একসাথে (??) মানে কি?


এটি হল নাল-কোলেসিং ৷ অপারেটর. নাল-কোলেসিং অপারেটর ?? এটির বাম-হাতের অপারেন্ডের মান প্রদান করে যদি এটি শূন্য না হয়; অন্যথায়, এটি ডান হাতের অপারেন্ড মূল্যায়ন করে এবং এর ফলাফল প্রদান করে। দ্য ?? অপারেটর তার ডান-হাতের অপারেন্ডকে মূল্যায়ন করে না যদি বামহাতের অপারেন্ডটি অ-নাল মূল্যায়ন করে।

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

নাল-কোলেসিং অপারেটর (??) অপারেটর -

এর সুবিধাগুলি নিম্নরূপ
  • এটি একটি বাতিলযোগ্য আইটেমের জন্য একটি ডিফল্ট মান নির্ধারণ করতে ব্যবহৃত হয় (মান প্রকার এবং রেফারেন্স প্রকার উভয়ের জন্য)।

  • এটি রানটাইম InvalidOperationException ব্যতিক্রম প্রতিরোধ করে।

  • এটি আমাদের অনেক অপ্রয়োজনীয় "যদি" শর্তগুলি সরাতে সাহায্য করে৷

  • এটি রেফারেন্স প্রকার এবং মান উভয় প্রকারের জন্য কাজ করে৷

  • কোডটি সুসংগঠিত এবং পাঠযোগ্য হয়ে ওঠে।

উদাহরণ

using System;
namespace MyApplication{
   class Program{
      static void Main(string[] args){
         int? value1 = null;
         int value2 = value1 ?? 99;
         Console.WriteLine("Value2: " + value2);
         string testString = "Null Coalescing";
         string resultString = testString ?? "Original string is null";
         Console.WriteLine("The value of result message is: " + resultString);
      }
   }
}

আউটপুট

উপরের উদাহরণের আউটপুট নিম্নরূপ।

Value2: 99
The value of result message is: Null Coalescing

  1. টার্ম স্কেলেবল মানে কি?

  2. টুইটারে বায়ো মানে কি?

  3. পাইথনে ডাবল স্টার অপারেটর বলতে কী বোঝায়?

  4. পাইথনে স্টার অপারেটর বলতে কী বোঝায়?