输出未声明变量的参数
本文关键字:参数 变量 未声明 输出 | 更新日期: 2023-09-27 18:11:51
我有一个方法
TrySplitStringTwoParts(string data, string separator, out string prefix, out string suffix)
按如下方式调用:
string data = "x.y", r1,r2;
TrySplitStringTwoParts(data, ".", out r1, out r2)
我对使用r1
不感兴趣,即除了这个调用之外,它从未被使用过。我可以改变我调用TrySplitStringTwoParts(data, ".", out r1, out r2)
的方式以不声明r1
你现在不能这么做。但这是C# 6
中将要添加的特性之一。参见roslyn语言特性实现状态页面
-----------------------------------------------------------------
| Feature | Example | C# |
-----------------------------------------------------------------
| Declaration expressions | int.TryParse(s, out var x); | Done |
-----------------------------------------------------------------
那么你就可以这样做:
TrySplitStringTwoParts(data, ".", out string r1, out string r2)
当然这只会将声明移动到另一个地方,不声明变量是不可能的。如果你有一个ref
/out
形参,那么你必须声明并提供一个实参。如果你不想要这个参数,那么也许你应该考虑改变你的方法签名或使用方法重载。
不行。无论以后是否实际使用该变量,ref
和out
参数都必须在调用中传递。