Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 为什么UdpClient.Receive需要ref参数?_.net_Sockets_Pass By Reference - Fatal编程技术网

.net 为什么UdpClient.Receive需要ref参数?

.net 为什么UdpClient.Receive需要ref参数?,.net,sockets,pass-by-reference,.net,Sockets,Pass By Reference,为什么参数在ref参数上,而不是简单的out 根据MSDN页面,参数由发送数据报的地址填充。但是,它没有指定用于哪种输入,只指定输出。这看起来像是(非常罕见的)BCL不一致/差异之一。此参数根本不用作方法中的输入(如所示) 也许情况并非总是如此,他们一直使用ref而不是切换到out,以保持向后兼容性。我不相信保留方法签名,但更改功能性将保持任何向后兼容性。所以,要么他们破坏了兼容性,忘了修复签名(可能性很小),要么就是一直如此。。。

为什么参数在
ref
参数上,而不是简单的
out


根据MSDN页面,参数由发送数据报的地址填充。但是,它没有指定用于哪种输入,只指定输出。

这看起来像是(非常罕见的)BCL不一致/差异之一。此参数根本不用作方法中的输入(如所示)


也许情况并非总是如此,他们一直使用
ref
而不是切换到
out
,以保持向后兼容性。

我不相信保留方法签名,但更改功能性将保持任何向后兼容性。所以,要么他们破坏了兼容性,忘了修复签名(可能性很小),要么就是一直如此。。。