C#中和out之间有什么区别?
我在查找P / Invoke定义时都看到了……有时使用[Out]
,有时候out
……我假设它们是相同的。
在P/Invoke
的上下文中使用它们时彼此相同 – 请参阅OutAttribute 。
您可以将OutAttribute应用于通过引用传递的值和引用类型,以将In / Out行为更改为Out-only行为,这相当于在C#中使用out关键字。
除了James回答之外,请注意out contextual关键字在两个上下文中使用:
-
作为参数列表中的参数修饰符
-
在接口和委托中的generics类型参数声明中
来源: http : //msdn.microsoft.com/en-us/library/t3c3bfhx.aspx