gpt4 book ai didi

java - C# 字符串/字符串 : Compare string like in Java (by Reference)

转载 作者:太空宇宙 更新时间:2023-11-03 16:59:39 25 4
gpt4 key购买 nike

如何像在 Java 中一样通过引用比较字符串?我知道 C# 的字符串按值与 == 进行比较。

Object.ReferenceEquals 也不能正常工作,因为如果字符串的内容已存在于实习生池中,C# 会将字符串的现有地址分配给新字符串。

我读过这篇文章,他们建议这样做:

Comparing VALUE and REFERENCE of types

string str = "hello";
string str2 = new StringBuilder().Append("he").Append("llo").ToString();

我想要发生的事情是这样的:

string s1 = "a";
string s2 = "a";
Console.WriteLine(s1 == s2); //False
//Or
Console.WriteLine(Object.ReferenceEquals(s1,s2)); //False

但是,以上2个字符串的情况并非如此。如何在不使用 StringBuilder 的情况下实现相同的效果?

最佳答案

您可以使用 String.Copy创建一个新实例:

string s1 = "a";
string s2 = String.Copy(s1);
Console.WriteLine(Object.ReferenceEquals(s1,s2)); //False

关于java - C# 字符串/字符串 : Compare string like in Java (by Reference),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45293388/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com