C# 实习生()

PHPz
发布: 2024-09-03 15:17:30
原创
495 人浏览过

C#中的intern()函数用于定位内存中某个字符串的引用。此方法在查找匹配字符串时搜索内存区域以发现对与所提供字符串匹配的字符串的引用。如果找到匹配项,则会返回对该字符串的引用。

语法

public static string Intern(String string)
登录后复制

哪里,

string是需要在内存区域查找引用的字符串。

C# 中的 intern() 是如何工作的?

  • 每当我们需要在内存区域中搜索与给定字符串匹配的字符串的引用时,我们都会使用 C# 中的 Intern() 方法。
  • 每次调用该方法时,它都会在内存区域中搜索与指定字符串匹配的字符串的引用。如果指定的字符串与内存区域中的字符串匹配,则该方法返回引用。
  • 此方法将给定的字符串添加到内存区域,如果给定的字符串匹配且不存在,则返回一个引用。

实现 C# intern() 的示例

以下是提到的示例:

示例#1

C# 程序演示 Intern() 方法并使用 ReferenceEquals 方法确定对字符串的引用是否相同:

代码:

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的类。该程序调用主过程,其中指定两个字符串变量。 intern() 方法创建一个新的引用,如果内存空间中尚不存在第一个字符串的引用,则返回它。然后,程序利用 Object.ReferenceEquals 方法来验证两个给定字符串的引用是否匹配。

示例#2

C# 程序演示 Intern() 方法并使用 ReferenceEquals 方法确定对字符串的引用是否相同:

代码:

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 表示的一个变量存储需要在内存区域中搜索其引用的字符串。字符串 str3 是字符串 str1 和 str3 的组合。因此,尽管两个字符串返回相同的引用,但字符串 str2 的引用与 str3 的引用不匹配。如果内存区域不包含字符串的引用,则 Intern() 方法将创建一个新引用并返回它。结果,字符串 str3 将字符串 str1 与其自身组合在一起。然后,Object.ReferenceEquals 方法验证两个字符串的引用是否匹配,如果字符串 str2 的引用与字符串 str3 的引用不匹配,则返回 false。

结论

在本教程中,我们通过编程示例及其输出来了解 C# 中 Intern() 方法的定义、语法和工作原理。

以上是C# 实习生()的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:php
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板