![]() |
1
31
这个
框架设计指南
(一本由KrzysztofCvalina和BradAbrams写的书)建议避免
框架设计指南引用了规范
但同时也有评论评论
|
![]() |
2
13
大部分的
|
![]() |
3
10
我尽量避免在公共API上使用它,但它确实有用途。可变值类型是一个重要的类型,特别是在像CF这样的东西上(由于平台的需求,可变结构更常见)。然而,我使用它的最常见时间可能是将复杂算法的某些部分重构为几个方法时,其中一个状态对象被过度杀戮,我需要传递多个值: 即
等在哪里
|
![]() |
4
4
随时更改 价值 类型-在希望有效地更新一对相关值(即,不返回包含两个int的结构,而是传递(ref int x,ref int y))的情况下,会发生很多这种情况。 |
![]() |
5
2
可能当您有一个结构(它是一个值类型)时:
和
这里您将使用两个参数
成像具有一个以上的方法
附加项:
不同
|
![]() |
6
0
当你需要在Bignums上使用高效的就地算法时,它是有用的。 |
![]() |
7
0
假设地说,如果你打算模仿旧程序软件的体系结构,比如旧的游戏引擎等等,我猜你可能会使用很多的ref/out参数。我已经扫描了其中一个的源代码,我认为它是Duke Nukem 3D,它是程序化的,有很多子程序在适当的地方修改变量,几乎没有函数。显然,除非您有特定的目标,否则您不太可能为实际的生产应用程序编写这样的程序。 |
![]() |
8
0
如果一个人想要将数组传递给一个函数,这个函数可能会改变它的大小,也可能不会对它做其他的事情,那该怎么办呢?通常,我们会将数组包装在另一个对象中,但如果希望处理直接通过引用传递的数组,则似乎是最自然的方法。 |
![]() |
9
-1
我经常使用REF。只需考虑具有多个返回值的函数。 创建返回对象(helper对象)甚至为此使用哈希表都没有意义。 例子:
编辑: 最好在这里使用——正如评论中所说。
我用它来处理对象:
|
![]() |
10
-1
除了掉期之外,另一个有用的例子是:
在外面使用,这不是一个选择 |
![]() |
Gabe Tucker · 无法在golang中分配接口对象指针 3 年前 |
![]() |
randomDud · C#从另一个接口重写接口方法 3 年前 |
![]() |
evilsushi · C#接口不允许成员类满足要求 7 年前 |