C# 匹配变量类型是否有好处?

C# 匹配变量类型是否有好处?,c#,C#,在Stellman&Greene(2010)中,其中一个练习如下(为简洁起见编辑): 定义蜂巢的常数:您需要一个蜂巢开始时的蜂蜜量(3.2)和蜂巢可以储存的最大蜂蜜量(15)的常数。(第555页) 在该段旁边,他们发表了以下评论: 你必须找出每一种的好名字,以及它们的类型。对于类型,不要只考虑初始值,还要考虑这些常量将与之一起使用的值。Double与其他Double配对最好,Int与其他Int配对最好。(第555页,增加重点) 他们对这项工作的解决办法如下(第556页): 他们评论道:“既然In

在Stellman&Greene(2010)中,其中一个练习如下(为简洁起见编辑):

定义蜂巢的常数:您需要一个蜂巢开始时的蜂蜜量(3.2)和蜂巢可以储存的最大蜂蜜量(15)的常数。(第555页)

在该段旁边,他们发表了以下评论:

你必须找出每一种的好名字,以及它们的类型。对于类型,不要只考虑初始值,还要考虑这些常量将与之一起使用的值。Double与其他Double配对最好,Int与其他Int配对最好。(第555页,增加重点)

他们对这项工作的解决办法如下(第556页):

他们评论道:“既然
InitialHoney
需要是一个双精度的,最好也把它变成双精度的。”(第556页)

我搜索了这本书,用谷歌搜索了一下StackOverflow,但找不到这是“最好”的原因。当两个变量都在一个方法中使用时,它也许可以避免显式转换一个变量,但显式定义整数为
int
有助于防止错误使用

问题:那么我错过了什么?为什么在C#中有匹配的变量类型是“最好的”



Stellman,A.和Greene,J.(2010)。头先C#:大脑友好型指南(第二版)。加利福尼亚州塞巴斯托波尔:O'Reilly Media。

如果一个变量、字段、常数预期可与其他
double
类型的变量、字段、常数一起操作,并且结果将是
double
,则应使用
double
键入所有涉及的值。我会对任何类型应用相同的规则

如果您知道只需要获得一个
double
结果,为什么要强制执行从/to
int
到/from
double
的隐式或显式转换

这不适用于可能在其他地方使用数字的情况。我不是在提倡这样一条规则,即“如果在代码中的某一点上需要使用
dobule
,则所有数字都将使用
double
”键入。老实说,我会用常识

private const double InitialHoney = 3.2;
private const double MaximumHoney = 15;