将C转换为C#我正在尝试将此C代码转换为C#,是否存在与C联合typedef等效的C#?structsockaddr_in{shortsin_family;u_shortsin_port;结构in_addrsin_addr;字符sin_zero[8];};typedefstructin_addr{union{struct{u_chars_b1,s_b2,s_b3,s_b4;;u_longS_addr;}太阳;}IN_ADDR,*PIN_ADDR,FAR*LPIN_ADDR;谢谢。您可以查看以下页面。也就是说,在.NET中,您拥有允许直接使用套接字和TCP/IP的类,如Socket、TcpListener、TcpClient,您无需盲目翻译C代码。虽然其他人肯定有一个观点-这可能是您真正不需要做的事情-有一种方法可以使用StructLayoutAttribute在C#中模拟联合(此处为模拟联合的示例)。但是不要这样做。这个C联合的目的似乎是允许4字节长的位部分。以这种方式使用联合取决于对目标体系结构字节顺序的了解,而C#不保证这一点。在C#或任何其他可移植性很重要的语言中-如果您想获取或设置高字节/低字节/等,您需要使用显式位移位,如此处所述。但也不要这样做。像其他人一样说,不要移植此代码。有人已经为您完成了,很可能是内置库中的Microsoft;)。以上就是《C#学习教程:C转C#》的全部内容。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权请点击右侧联系管理员删除。如需转载请注明出处:
