gpt4 book ai didi

c# - 将 block 与套接字一起使用

转载 作者:行者123 更新时间:2023-11-30 22:12:59 26 4
gpt4 key购买 nike

如果我写

using (Socket s = new Socket(/*...*/))
{
//...
}

右大括号是否调用

s.Shutdown(SocketShutdown.Both);
s.Close();
s.Dispose();

或者只是

s.Dispose();

?

(或者别的什么?)

谢谢!

最佳答案

using 语句将调用 IDisposable.Dispose,仅此而已。

using 语句只是一个编译器技巧,它允许您更简洁地表达您总是想要处理给定对象,即使 block 中包含的代码抛出并粗略转换为以下

Socket s = new Socket(...)
try
{
// Code contained by the using... block here.
}
finally
{
s.Dispose();
}

根据我的经验,using 语句很少与 Socket 类结合使用。大多数情况下,您只会调用 Socket.Close这实际上会调用 Socket.Dispose在内部。

关于c# - 将 block 与套接字一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19413007/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com