如何在.NET中制造一个空字符串? - c#

我写了一段优化的代码,其中包含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));

如何在.Net Core中的AuthorizeAttribute类中访问appsetting.json参数 - c#

在我的ASP.NET Core MVC应用程序中,我有一个从AuthorizeAttribute继承并实现IAuthorizationFilter的类。namespace MyProject.Attributes { [AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, Allow…

如何在.NET中安装Windows服务? - c#

我已经在.Net 2.0(C#)中创建了一个控制台应用程序,并希望创建一个将应用程序作为Windows服务安装的安装程序。我以前从未创建过安装程序,但正在阅读有关该主题的几篇文章。我将不胜感激那些在这方面有经验的人的任何建议或链接。谢谢。更新:我目前正在研究http://justinjmoses.wordpress.com/2008/03/27/visual…

如何在.net core中调用带参数的动作? - c#

因此,我在Startup.cs中设置了以下默认模式:app.UseEndpoints(endpoints => { endpoints.MapControllerRoute( name: "default", pattern: "{controller}/{action}/{id?}"); }); 这是我的控制器…

如何在.NET中引用特定的基类方法? - c#

在.NET中,我试图猴子修补第3方库。我创建了一个新类Grandchild,该类继承自Parent派生的Child类。在孙子项的替代方法中,我需要跳过“子项”并调用“父项”。那可能吗?换句话说,我想做:public class Grandchild : Child { public void override MyMethod() { // illegal …

如何在.NET服务器端检索Http请求参数 - c#

我已经使用XmlHttpRequest调用了.NET DLL(类库项目):function httpGet(theUrl, sendParam) { var xmlHttp = null; xmlHttp = new XMLHttpRequest(); xmlHttp.open('POST', theUrl, false); xmlHtt…