c# – String.Intern有值吗?

c# – String.Intern有值吗?,第1张

概述String.Intern有一个特殊的字符串池,以后可以检索它. 有没有办法让我知道指定的字符串是从池中获取的,并且是否是新创建的? 例如: string s1 = "MyTest"; string s2 = new StringBuilder().Append("My").Append("Test").ToString(); string s3 = String.Intern(s2); C String.Intern有一个特殊的字符串池,以后可以检索它.

有没有办法让我知道指定的字符串是从池中获取的,并且是否是新创建的?
例如:

string s1 = "MyTest"; string s2 = new StringBuilder().Append("My").Append("Test").ToString(); string s3 = String.Intern(s2); Console.Writeline((Object)s2==(Object)s1); // Different references.Console.Writeline((Object)s3==(Object)s1); // The same reference.

s3 ref val取自游泳池

有什么办法让我知道吗?

解决方法 您可能对IsInterned方法有好运,如果字符串未被实现则返回null,如果从池中获取,则返回引用.但是,此行为将取决于运行时,并且可能无法产生您期望的结果. 总结

以上是内存溢出为你收集整理的c# – String.Intern有值吗?全部内容,希望文章能够帮你解决c# – String.Intern有值吗?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1222077.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存