C# C将null传递给可选参数时会发生什么

C# C将null传递给可选参数时会发生什么,c#,string,function,parameters,optional-parameters,C#,String,Function,Parameters,Optional Parameters,如果我有一个带有如下可选参数的函数: public string testFunction (string arg1 = "Adam"){ return "Hello " + arg1; } 如果我将空字符串传递给函数,函数是否会返回: 你好,亚当 或: Hello Hello null按照当前的设置方式,默认值为Adam,因此可以像这样调用函数;字符串mystring=testfunction;它将返回Hello Adam,您传入的任何内容都将替换Adam,包括null。使用简单的C

如果我有一个带有如下可选参数的函数:

public string testFunction (string arg1 = "Adam"){
    return "Hello " + arg1;
}
如果我将空字符串传递给函数,函数是否会返回:

你好,亚当

或:


Hello Hello null

按照当前的设置方式,默认值为Adam,因此可以像这样调用函数;字符串mystring=testfunction;它将返回Hello Adam,您传入的任何内容都将替换Adam,包括null。

使用简单的C控制台应用程序进行尝试非常简单


答案是arg1为空,输出为Hello

请尝试并报告。提示:null不是一个文字值,但它是一个值。@Jeroenvanevel null肯定是一个文字值。@Servy:是的,我想我有点模棱两可。我的意思是说null并不代表null的文本表示。