我有一个方法
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
答案 0 :(得分:4)
你现在不能这样做。但这是将在C# 6
中添加的功能之一。请参阅roslyn Language feature implementation status page
-----------------------------------------------------------------
| Feature | Example | C# |
-----------------------------------------------------------------
| Declaration expressions | int.TryParse(s, out var x); | Done |
-----------------------------------------------------------------
那么你就能做到这一点:
TrySplitStringTwoParts(data, ".", out string r1, out string r2)
当然这只会将声明移到另一个地方,而不是声明变量是不可能的。如果你有一个ref
/ out
参数,那么你必须声明并提供一个参数。如果你那么你不应该想要这个参数,也许你应该考虑改变你的方法签名或使用方法重载。
答案 1 :(得分:0)
ref
和out
个参数。