|
|
1
5
我看不出有什么价值
我倾向于使用一种内置的集合类型,而不是为
|
|
|
2
3
我想你可以看看 When to use struct in C#? |
|
3
2
除非您确定了使用结构的特定原因,否则请使用类。 更新:由于@dmitry lobanov:eric lippert的帖子: The Truth About Value Types
Ref 。 |
|
|
4
1
就其价值而言,我永远不会使用结构,因为我很少需要提供一个没有某种关联行为(验证器、格式化程序等)的仅数据结构。 关于“结构”的基本概念,我最喜欢的一点是它代表了一个最基本的存储系统,因此应该避免编写所有这些琐碎的自定义getter和setter以及所有这些东西…但是,再一次,我们现在有了这些可爱的自动属性,它们从纯粹的编码角度有效地实现了同样的结果,虽然我体内的Yagni Nazi可能会说使用这个结构是因为它是简单的,但我体内的现实主义者知道我将不可避免地想要改变这个结构。不管怎样,对于一个类来说,为什么不从一开始就简单地实现这个类并完成它呢?;-) 至于性能和其他好处的争论…问你自己“这真的重要吗?”如果你在写一个严肃的实时系统…也许你想用另一个工具。如果你只是简单地传递一些数据,你可能会有大量的处理Crouton在你的处理,而且你的杀手算法可能不需要担心纳米秒的区别。 |
|
|
5
0
我个人在需要存储信息的任何地方都使用结构,只要它不会导致明显的性能问题。在大多数项目中,这是永远不会发生的,因为数据要么直接映射到现有类型,要么大于引用(影响不变的LINQ查询和其他操作)。我发现只有当我可以将数据粘贴到数组中并保留在数组中(直接修改数组中的变量)、很少使用结构或结构中的数据量小于64位(忽略结构开销)时,结构才可行。
此外,结构比具有主要差异的类更具限制性:
|
|
|
A B · C#Excel自动调整列避免长文本时出错 1 年前 |
|
|
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 1 年前 |
|
Aycon · 在工厂方法中释放部分创建的对象的正确方法是什么? 1 年前 |
|
|
Sei · Avalonia/WPF将路由器传递到控制模板 1 年前 |