我写了一段优化的代码,其中包含null和空字符串的特殊情况。我现在正在尝试为此代码编写单元测试。为此,我需要两个空的(零长度)字符串对象,它们是不同的对象。像这样:

string s1, s2;
Assert.IsTrue(s1.Length == 0 && s2.Length == 0);
Assert.IsTrue(!ReferenceEquals(s1, s2));

事实证明,大多数.NET Framework API字符串都在检查空结果。在所有这些情况下,他们都将返回string.Empty。例如,"x".Remove(0, 1)返回string.Empty

如何创建新的零长度字符串对象?

最佳答案

您可以使用过时的方法String.Copy

string s1 = "";
string s2 = String.Copy("");
Assert.IsTrue(s1.Length == 0 && s2.Length == 0);
Assert.IsTrue(!ReferenceEquals(s1, s2));

关于c# - 如何在.NET中制造一个空字符串?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/60213296/

10-17 02:48