C#-এ string.Intern(string str) মেথড স্ট্রিং ইন্টার্ন পুল থেকে নির্দিষ্ট স্ট্রিং-এর রেফারেন্স রিটার্ন করে। যদি স্ট্রিংটি পুলে না থাকে, তবে এটি যোগ করে এবং রেফারেন্স রিটার্ন করে। এটি মেমরি সেভ করতে এবং স্ট্রিং তুলনা দ্রুত করতে সাহায্য করে।
উদাহরণ ১: স্ট্রিং ইন্টার্নিং
using System;
public class Demo {
public static void Main(string[] args) {
string str1 = "David";
string str2 = string.Intern(str1);
Console.WriteLine("String1 = " + str1);
Console.WriteLine("String1-এর সিস্টেম রেফারেন্স = " + str2);
}
}
আউটপুট
String1 = David String1-এর সিস্টেম রেফারেন্স = David
উদাহরণ ২: দুটি স্ট্রিং ইন্টার্ন করা
using System;
public class Demo {
public static void Main(string[] args) {
string str1 = "50";
string str2 = "100";
Console.WriteLine("String1 = " + str1);
Console.WriteLine("String2 = " + str2);
str2 = string.Intern(str1);
Console.WriteLine("String1-এর সিস্টেম রেফারেন্স = " + str2);
}
}
আউটপুট
String1 = 50 String2 = 100 String1-এর সিস্টেম রেফারেন্স = 50
ব্যাখ্যা: স্ট্রিং ইন্টার্নিং হলো একই কন্টেন্টের একাধিক স্ট্রিং অবজেক্টের পরিবর্তে একটিই মেমরিতে রাখা। লিটারাল স্ট্রিংস অটোমেটিক্যালি ইন্টার্নড হয়। string.IsInterned() দিয়ে চেক করা যায় স্ট্রিংটি পুলে আছে কিনা। বড় পরিমানে ডুপ্লিকেট স্ট্রিং হলে ইন্টার্নিং মেমরি বাঁচায়।