C# 在WinC窗体客户端应用程序中使用Struct作为数据模型

C# 在WinC窗体客户端应用程序中使用Struct作为数据模型,c#,C#,我真的怀疑在我们的C Winform客户端应用程序中使用Struct作为数据模型。但我的同事坚持认为,如果我们将这些结构封装在类中,这样它们就可以通过引用传递,就不会有问题。他说得对吗?我们应该继续使用Struct?或者您可以帮助指出在C Winform客户端中使用Struct的问题吗 使用Structs的原因是我们从网络接收字节流格式的数据。他的观点是,如果将字节流马歇尔化为结构是最快的方法。我建议使用Bitconvert将每个值转换为类成员。需要一个示例来说明它的外观。一般的经验法则是将它们

我真的怀疑在我们的C Winform客户端应用程序中使用Struct作为数据模型。但我的同事坚持认为,如果我们将这些结构封装在类中,这样它们就可以通过引用传递,就不会有问题。他说得对吗?我们应该继续使用Struct?或者您可以帮助指出在C Winform客户端中使用Struct的问题吗


使用Structs的原因是我们从网络接收字节流格式的数据。他的观点是,如果将字节流马歇尔化为结构是最快的方法。我建议使用Bitconvert将每个值转换为类成员。

需要一个示例来说明它的外观。一般的经验法则是将它们保持在16字节以下,以避免使用它们时的开销。。因为值类型是按值复制的。如果它们只是持有一个字节数组的引用,那么我猜从技术上讲,就不需要类……首先,如果他声称类默认使用pass-by-reference,那么他应该阅读。接下来,我建议这样编组数据是非常脆弱的,而且这不太可能是性能瓶颈。为什么为了这么一个不重要的原因而做出如此重要的设计决策?这是真的。人们误解的一个大问题是,传递值是默认值。。只是引用类型复制了引用值。我们最近在我的工作场所发生了误会。难以置信的经验,有些开发人员已经和不明白这一点。