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

C#-এ public, static, void কিওয়ার্ডের পার্থক্য (Main মেথড প্রসঙ্গে)

C# প্রোগ্রামের এন্ট্রি পয়েন্ট Main মেথডে এই তিনটি কিওয়ার্ড ব্যবহৃত হয়। প্রতিটির ভূমিকা আলাদা।

কিওয়ার্ড ভাঙগা


public static void Main(string[] args)
{
    // প্রোগ্রাম এন্ট্রি পয়েন্ট
}
কিওয়ার্ডঅর্থব্যাখ্যা
publicঅ্যাক্সেস মডিফায়ারমেথডটি যেকোনো জায়গা থেকে অ্যাক্সেসযোগ্য (এন্ট্রি পয়েন্টের জন্য আবশ্যক)।
staticস্ট্যাটিক মেম্বারঅবজেক্ট তৈরি ছাড়া ক্লাস নাম দিয়ে কল করা যায়। CLR অবজেক্ট ছাড়া কল করে।
voidরিটার্ন টাইপমেথড কোনো মান ফেরত দেয় না। (int Main() দিয়ে এক্সিট কোড ফেরত দেয়া যায়)।
Mainমেথড নামপ্রোগ্রাম এক্সিকিউশন শুরু হয় এখান থেকে।_CASE-INSENSITIVE।

Main মেথডের বৈরিয়েশন


// সিম্পল
static void Main() { }

// আর্গুমেন্টসহ
static void Main(string[] args) { }

// এসিঙ্ক্রোনাস (C# 7.1+)
static async Task Main() { }
static async Task<int> Main(string[] args) { }

// এক্সিট কোড ফেরত দেয়া
static int Main() { return 0; } // সাফল্য
static int Main() { return 1; } // ত্রুটি

গুরুত্বপূর্ণ নোট

  • একটি প্রোগ্রামে একাধিক Main থাকলে কম্পাইলার এরর দেয় (অথবা /main অপশন দিয়ে নির্দিষ্ট করতে হয়)।
  • static না থাকলে CLR ইনস্ট্যান্স তৈরি করতে পারবে না (কারণ কোনো কনস্ট্রাক্টর কল করা হয় না)।
  • public না থাকলে এক্সটার্নাল কলার (CLR) অ্যাক্সেস করতে পারবে না।
  1. C#-এ String (ক্লাস) এবং string (এলিয়াস) এর পার্থক্য

  2. C#-এ ওভাররাইডিং (Overriding) এবং শ্যাডোইং (Shadowing) এর পার্থক্য

  3. C#-এ ফাংশন ওভাররাইডিং এবং মেথড হাইডিং (Shadowing) এর পার্থক্য

  4. পাইথন সেটে অপারেটর ও মেথডের পার্থক্য