কম্পিউটার টিউটোরিয়াল

C#-তে জেনেরিক মেথড থেকে null কীভাবে রিটার্ন করবেন?

জেনেরিক্স আমাদের একটি ক্লাস ডিফাইন করতে দেয় এর ফিল্ডস, মেথডস, প্যারামিটারস ইত্যাদির টাইপের জন্য প্লেসহোল্ডার দিয়ে। জেনেরিক্স কম্পাইল টাইমে এই প্লেসহোল্ডারগুলোকে কোনো স্পেসিফিক টাইপ দিয়ে রিপ্লেস করে। একটি জেনেরিক অ্যাঙ্গেল ব্র্যাকেট `<>` দিয়ে ডিফাইন করা হয়। কালেকশনসের একটি প্রাইমারি লিমিটেশন হলো ইফেক্টিভ টাইপ চেকিং-এর অনুপস্থিতি। এর মানে আপনি একটি কালেকশনে যেকোনো অবজেক্ট রাখতে পারেন কারণ C# প্রোগ্রামিং ল্যাঙ্গুয়েজের সব ক্লাস `object` বেস ক্লাস থেকে এক্সটেন্ড করে।

এছাড়া, আমরা একটি জেনেরিক মেথড থেকে নরমাল মেথডের মত সিম্পলি `null` রিটার্ন করতে পারি না। নিচে সে এরর দেওয়া হলো যা একটি জেনেরিক মেথড থ্রো করবে যদি আমরা `null` রিটার্ন করার চেষ্টা করি।

using System;

namespace DemoApplication
{
    class Program
    {
        public static void Main()
        {
            Add(5, 5);
        }

        public static T Add(T parameter1, T parameter2)
        {
            return null; // Compile error
        }
    }
}

C#-তে জেনেরিক মেথড থেকে null কীভাবে রিটার্ন করবেন?

তাই, একটি জেনেরিক মেথড থেকে `null` বা ডিফল্ট ভ্যালু রিটার্ন করতে আমরা `default()` ব্যবহার করতে পারি। `default(T)` প্রদান করা টাইপের ডিফল্ট অবজেক্ট রিটার্ন করবে।

উদাহরণ

using System;

namespace DemoApplication
{
    class Program
    {
        public static void Main()
        {
            Add(5, 5);
            Console.ReadLine();
        }

        public static T Add(T parameter1, T parameter2)
        {
            var defaultVal = default(T);
            Console.WriteLine(defaultVal);
            return defaultVal;
        }
    }
}

আউটপুট

0

এখানে আমরা দেখতে পাচ্ছি যে ইন্টিজারের ডিফল্ট ভ্যালু ০ রিটার্ন হয়েছে।

  1. জাভাস্ক্রিপ্ট ফাংশন থেকে মান রিটার্ন করার উপায়

  2. জাভাস্ক্রিপ্ট ফাংশন থেকে অবজেক্ট রিটার্ন করা

  3. C# ASP.NET WebAPI-তে একশন মেথড থেকে কাস্টম রেজাল্ট টাইপ রিটার্ন কীভাবে করবেন?

  4. আপনার উইন্ডোজ PC থেকে IDP.Generic ভাইরাস দূর করুন — দ্রুত ও নির্ভরযোগ্য রিমুভাল গাইড