C# の intern() 関数は、メモリ内の特定の文字列の参照を見つけるために使用されます。このメソッドは、メモリ領域を検索して、一致する文字列を探しながら、指定された文字列と一致する文字列への参照を検出します。一致するものが見つかった場合は、その文字列への参照が返されます。
構文
public static string Intern(String string)
どこ、
string は、メモリ領域内で参照を検索する必要がある文字列です。
以下に挙げる例を示します:
Intern() メソッドを示し、ReferenceEquals メソッドを使用して文字列への参照が同じかどうかを判断する C# プログラム:
コード:
using System; //a class called program is defined public class Program { //main method is called public static void Main(string[] args) { //a string variable is used to store the first string string str1 = "Welcome to C#"; //another string variable is used to store the reference of the string one using intern method string str2 = string.Intern(str1); Console.WriteLine("The value of the string one is: {0}",str1); Console.WriteLine("The value of the string two after using intern method on string one is: {0}",str2); //ReferenceEquals method is used to check if the two strings are pointing to the same reference in the memory area or not Console.WriteLine("If the references of the two objects are equal: {0}", Object.ReferenceEquals(str1, str2)); } }
出力:
説明: 上記のプログラムは、Program というクラスを定義しています。プログラムはメイン プロシージャを呼び出し、2 つの文字列変数を指定します。 intern() メソッドは新しい参照を作成し、最初の文字列の参照がメモリ空間にまだ存在しない場合はそれを返します。次に、プログラムは Object.ReferenceEquals メソッドを利用して、指定された 2 つの文字列の参照が一致するかどうかを検証します。
Intern() メソッドを示し、ReferenceEquals メソッドを使用して文字列への参照が同じかどうかを判断する C# プログラム:
コード:
using System; //a class called program is defined public class Program { //main method is called public static void Main(string[] args) { //a string variable is used to store the first string string str1 = "Welcome to"; string str2 = "Welcome to C#"; //another string variable is used to store the reference of the string one using intern method string str3 = string.Intern(str1 + " C#"); Console.WriteLine("The value of the string one is: {0}",str1); Console.WriteLine("The value of the string two is: {0}",str2); Console.WriteLine("The value of the string three after using intern method on string one is: {0}",str3); //ReferenceEquals method is used to check if the two strings are pointing to the same reference in the memory area or not Console.WriteLine("If the references of the two objects are equal: {0}", Object.ReferenceEquals(str2, str3)); } }
出力:
説明: 上記のプログラムは、Program というクラスを定義します。 str2 で表される 1 つの変数には、メモリ領域内で参照を検索する必要がある文字列が格納されます。文字列 str3 は、文字列 str1 と str3 を組み合わせたものです。したがって、両方の文字列が同じ参照を返しますが、文字列 str2 の参照は str3 の参照と一致しません。メモリ領域に文字列の参照が含まれていない場合、Intern() メソッドは新しい参照を作成して返します。その結果、文字列 str3 は文字列 str1 とそれ自体を結合します。次に、Object.ReferenceEquals メソッドは 2 つの文字列の参照が一致するかどうかを検証し、文字列 str2 の参照が文字列 str3 の参照と一致しないため false を返します。
このチュートリアルでは、プログラミング例とその出力を通じて、定義、構文、Intern() メソッドの動作を通じて、C# の Intern() メソッドの概念を理解します。
以上がC# インターン()の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。