【发布时间】:2015-07-16 05:36:08
【问题描述】:
我不明白为什么在调用带有out 参数的方法时必须声明一个变量,即使我不关心该方法提供的out 值。
在我看来,这类似于调用具有返回值bool Foo() 但不使用它Foo(); 的方法。可以将out 参数标记为可选参数将使我的代码更简洁,或者让API 开发人员无需为该方法编写一个没有out 参数的重载。
那么,out 参数不能是可选的原因是什么?
【问题讨论】:
-
你有一个例子说明这是可选的吗?我能想到的所有时间,out 参数都可以提供有用的信息
-
@Sayse 您可以使用
int.TryParse来检查字符串是否为数字,而对其值不感兴趣。有一些忽略输出参数的用例。 -
@SonerGönül 没有解释原因。
-
@xanatos - 是的,但与此同时,如果它是一个数字,那么您很可能希望稍后在某个地方使用该数字
-
请记住,
out自 C# 1.0 以来就已存在。 Optional 是在很久以后才引入的(对 C#)。
标签: c#