Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 数组作为参数隐式转换_C#_Arrays - Fatal编程技术网

C# 数组作为参数隐式转换

C# 数组作为参数隐式转换,c#,arrays,C#,Arrays,在这3种情况下,初始化数组是可以的 string[] To = { "one@g.com", "two@g.com" }; string[] To = new[] { "one@g.com", "two@g.com" }; string[] To = new string[] { "one@g.com", "two@g.com" }; 但当将其用作参数时,第一个选项无效 所以这是有效的 MethodWithAnArrayParam(new string[] { "hi@t.com", "hi@

在这3种情况下,初始化数组是可以的

string[] To = { "one@g.com", "two@g.com" };
string[] To = new[] { "one@g.com", "two@g.com" };
string[] To = new string[] { "one@g.com", "two@g.com" };
但当将其用作参数时,第一个选项无效 所以这是有效的

MethodWithAnArrayParam(new string[] { "hi@t.com", "hi@t.com" });
MethodWithAnArrayParam(new [] { "hi@t.com", "hi@t.com" });
这是一个错误

   MethodWithAnArrayParam({ "hi@t.com", "hi@t.com" });
为什么?

尝试使用:

new[]{ "one@g.com", "two@g.com" }
编辑:或者您可以使用

new string[]{ "one@g.com", "two@g.com" }

请参阅:

使用关键字new进行安排声明

试试这个

string TO = new string[]{ "one@g.com", "two@g.com" };
还可以使用泛型数组

var TO = new[]{ "one@g.com", "two@g.com" };
根据给定值自动给出相同的数据类型:

new [] { "Hello "," World "} string array
new [] {0, 1, 2} int array
...
所有这些都是无效的,因为在任何时候您都不会告诉编译器它是一个数组,因为{}有几种不同的用途

emailProvider.Send("hello", { "one@g.com", "two@g.com" }, null, "subject");

emailProvider.Send("hello", (new string[] { "hi@t.com", "hi@t.com" }), null, "subject"); 
不能在没有阴影和未指定参数的情况下创建语句

bool Send(string message, string[] to, string[] bccTo, string subject);

你凭什么认为它无效?
.Send()
的方法签名是什么?发布的代码没有多大帮助,因为
{”one@g.com", "two@g.com“}
不是有效的C#数组初始值设定项。您需要告诉C#要构建哪个集合,数组不是默认的集合类型可能的重复