输出未声明变量的参数

本文关键字:参数 变量 未声明 输出 | 更新日期: 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形参,那么你必须声明并提供一个实参。如果你不想要这个参数,那么也许你应该考虑改变你的方法签名或使用方法重载。

不行。无论以后是否实际使用该变量,refout参数都必须在调用中传递。