你会如何重构这段代码?
double p = (Convert.ToDouble(inta) / Convert.ToDouble(intb)) * 100;
double v = (p / 100) * Convert.ToDouble(intc);
return (int)v;
Run Code Online (Sandbox Code Playgroud)
这对我来说似乎非常混乱,我知道我可以把它挤到一条线上,但我有兴趣知道其他人会怎么做.
谢谢
假设inta,intb并且intc键入为int/ Int32则Convert.ToDouble基本上与简单的强制转换相同double.
return (int)((inta / (double)intb) * intc);
Run Code Online (Sandbox Code Playgroud)
这是否真的是一次有价值的重构是另一回事.将中间计算保持为单独的语句以提高可读性通常更有意义,即使您不需要这些中间结果.当然,拥有有意义的变量名称会产生很大的不同.