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

C# 7.0-এ Ref Locals এবং Ref Returns কী?

একটি রেফারেন্স রিটার্ন ভ্যালু একটি মেথডকে একটি ভেরিয়েবলের রেফারেন্স রিটার্ন করতে দেয়, ভ্যালু রিটার্ন করার পরিবর্তে।

কলার তার ইচ্ছামতো রিটার্ন করা ভেরিয়েবলকে ভ্যালু দিয়ে রিটার্ন হওয়া যেন বা রেফারেন্স দিয়ে রিটার্ন হওয়া যেন মনে করে ব্যবহার করতে পারে।

কলার একটি নতুন ভেরিয়েবল তৈরি করতে পারে যা রিটার্ন করা ভ্যালুর রেফারেন্স হবে, একে ref local বলা হয়।

নিচের উদাহরণে যদিও আমরা কালার মডিফাই করি, তবুও মূল অ্যারে colors-এ কোনো প্রভাব পড়ে না।

উদাহরণ (Ref Locals ছাড়া)

class Program
{ 
    public static void Main()
    { 
        var colors = new[] { "blue", "green", "yellow", "orange", "pink" }; 
        string color = colors[3]; 
        color = "Magenta"; 
        System.Console.WriteLine(String.Join(" ", colors)); 
        Console.ReadLine(); 
    } 
}

আউটপুট

blue green yellow orange pink

এটি অর্জন করতে আমরা ref locals ব্যবহার করতে পারি।

উদাহরণ (Ref Locals সহ)

public static void Main()
{ 
    var colors = new[] { "blue", "green", "yellow", "orange", "pink" }; 
    ref string color = ref colors[3]; 
    color = "Magenta"; 
    System.Console.WriteLine(String.Join(" ", colors)); 
    Console.ReadLine(); 
}

আউটপুট

blue green yellow Magenta pink

Ref Returns

নিচের উদাহরণে যদিও আমরা কালার মডিফাই করি, তবুও মূল অ্যারে colors-এ কোনো প্রভাব পড়ে না।

উদাহরণ (Ref Returns ছাড়া)

class Program
{ 
    public static void Main()
    { 
        var colors = new[] { "blue", "green", "yellow", "orange", "pink" }; 
        string color = GetColor(colors, 3); 
        color = "Magenta"; 
        System.Console.WriteLine(String.Join(" ", colors)); 
        Console.ReadLine(); 
    } 
    
    public static string GetColor(string[] col, int index)
    { 
        return col[index]; 
    } 
}

আউটপুট

blue green yellow orange pink

উদাহরণ (Ref Returns সহ)

class Program
{ 
    public static void Main()
    { 
        var colors = new[] { "blue", "green", "yellow", "orange", "pink" }; 
        ref string color = ref GetColor(colors, 3); 
        color = "Magenta"; 
        System.Console.WriteLine(String.Join(" ", colors)); 
        Console.ReadLine(); 
    } 
    
    public static ref string GetColor(string[] col, int index)
    { 
        return ref col[index]; 
    } 
}

আউটপুট

blue green yellow Magenta pink
  1. C#-এ ক্লাস (Class) এবং স্ট্রাকচার (Structure) এর পার্থক্য

  2. C#-এ নেমস্পেস (Namespaces) কী?

  3. C#-এ ref এবং out প্যারামিটার এর পার্থক্য

  4. C#-এ লেফট শিফট এবং রাইট শিফট অপারেটর (>> এবং <<) কী?