ホームページ  >  記事  >  バックエンド開発  >  C# インターン()

C# インターン()

PHPz
PHPzオリジナル
2024-09-03 15:17:30496ブラウズ

C# の intern() 関数は、メモリ内の特定の文字列の参照を見つけるために使用されます。このメソッドは、メモリ領域を検索して、一致する文字列を探しながら、指定された文字列と一致する文字列への参照を検出します。一致するものが見つかった場合は、その文字列への参照が返されます。

構文

public static string Intern(String string)

どこ、

string は、メモリ領域内で参照を検索する必要がある文字列です。

C# では intern() はどのように動作しますか?

  • メモリ領域で指定された文字列に一致する文字列の参照を検索する必要がある場合は、C# の Intern() メソッドを使用します。
  • メソッドが呼び出されるたびに、指定された文字列に一致するメモリ領域内の文字列への参照が検索されます。指定された文字列とメモリ領域の文字列が一致する場合、メソッドは参照を返します。
  • このメソッドは、指定された文字列をメモリ領域に追加し、指定された文字列が一致し、そこにまだ存在しない場合は参照を返します。

C# intern() の実装例

以下に挙げる例を示します:

例 #1

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));
}
}

出力:

C# インターン()

説明: 上記のプログラムは、Program というクラスを定義しています。プログラムはメイン プロシージャを呼び出し、2 つの文字列変数を指定します。 intern() メソッドは新しい参照を作成し、最初の文字列の参照がメモリ空間にまだ存在しない場合はそれを返します。次に、プログラムは Object.ReferenceEquals メソッドを利用して、指定された 2 つの文字列の参照が一致するかどうかを検証します。

例 #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));
}
}

出力:

C# インターン()

説明: 上記のプログラムは、Program というクラスを定義します。 str2 で表される 1 つの変数には、メモリ領域内で参照を検索する必要がある文字列が格納されます。文字列 str3 は、文字列 str1 と str3 を組み合わせたものです。したがって、両方の文字列が同じ参照を返しますが、文字列 str2 の参照は str3 の参照と一致しません。メモリ領域に文字列の参照が含まれていない場合、Intern() メソッドは新しい参照を作成して返します。その結果、文字列 str3 は文字列 str1 とそれ自体を結合します。次に、Object.ReferenceEquals メソッドは 2 つの文字列の参照が一致するかどうかを検証し、文字列 str2 の参照が文字列 str3 の参照と一致しないため false を返します。

結論

このチュートリアルでは、プログラミング例とその出力を通じて、定義、構文、Intern() メソッドの動作を通じて、C# の Intern() メソッドの概念を理解します。

以上がC# インターン()の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。