C# 输出未声明变量的参数
我有办法C# 输出未声明变量的参数,c#,out,C#,Out,我有办法 TrySplitStringTwoParts(string data, string separator, out string prefix, out string suffix) 它的调用方式如下: string data = "x.y", r1,r2; TrySplitStringTwoParts(data, ".", out r1, out r2) 我不想使用r1,也就是说,除了此调用之外,它从未被使用过。 为了不声明r1不可以,我可以使用调用trysplitstringt
TrySplitStringTwoParts(string data, string separator, out string prefix, out string suffix)
它的调用方式如下:
string data = "x.y", r1,r2;
TrySplitStringTwoParts(data, ".", out r1, out r2)
我不想使用r1
,也就是说,除了此调用之外,它从未被使用过。
为了不声明
r1
不可以,我可以使用调用trysplitstringtwparts(数据,“.”,out r1,out r2)的方式吗ref
和out
参数必须在调用中传递,无论您以后是否实际使用该变量。不,您不能ref
和out
参数必须在调用中传递,无论您以后是否实际使用该变量。您现在不能这样做。但这是将在C#6
中添加的功能之一。请参阅roslyn
那么你就可以做到这一点:
TrySplitStringTwoParts(data, ".", out string r1, out string r2)
当然,这只会将声明转移到另一个地方,不声明变量是不可能的。如果你有一个<代码> REF>代码> />代码> Outs< /Cord>参数,那么你必须声明并提供一个参数。如果你不想要这个参数,那么也许你应该考虑改变你的方法签名或者使用方法重载。 你现在不能这么做。但这是将在
C#6
中添加的功能之一。请参阅roslyn
那么你就可以做到这一点:
TrySplitStringTwoParts(data, ".", out string r1, out string r2)
当然,这只会将声明转移到另一个地方,不声明变量是不可能的。如果你有一个<代码>代码> >代码>输出< /Cord>参数,那么你必须声明和提供一个参数。如果你不想要这个参数,那么也许你应该考虑改变你的方法签名或者使用方法重载。< /P>声明R1和R2在哪里?@ RoalStaseCix-字符串数据=“X.Y”,R1,r2;重载它怎么样?然后创建一个没有out r1的重载,r1和r2在哪里声明?@RonaldEstacion-string data=“x.y”,r1,r2;重载怎么样?然后创建一个不带out的重载,它只允许你在不同的地方声明变量,但你仍然必须声明它们。它只允许你在不同的地方声明变量,但你仍然必须声明它们。