我一直看到人们在C#中使用双打.我知道我读到某个地方,双打有时会失去精确度.我的问题是什么时候应该使用双倍,何时应该使用小数类型?哪种类型适合货币计算?(即超过1亿美元)
我ViewBag在MVC 3中看到了.ViewData与MVC 2有什么不同?
所以这些年来我终于停止了我的脚,并决定"正确"学习JavaScript.语言设计中最令人头疼的元素之一是它的继承实现.有Ruby经验,我很高兴看到闭包和动态打字; 但是对于我的生活来说,无法弄清楚使用其他实例进行继承的对象实例会带来什么好处.
javascript oop inheritance language-design prototype-programming
我可以说使用double(或float)代替以下三个优点decimal:
但这些优势似乎只适用于计算密集型操作,例如建模软件中的操作.当然,在需要精确度时,不应使用双精度数,例如财务计算.那么有没有任何实际的理由选择double(或float)而不是decimal"正常"的应用程序?
编辑补充:感谢所有伟大的回应,我向他们学习.
还有一个问题:一些人认为双打可以更精确地代表实数.宣布时,我认为他们通常也会更准确地代表他们.但是,当执行浮点运算时,准确度是否会降低(有时是显着的)是真实的说法吗?
你能解释一下为什么我应该继承ICloneable并实现这个Clone()方法吗?
如果我想做一个深层复制,我不能只实现我的方法吗?我们说吧MyClone()?
我为什么要继承ICloneable?有什么好处?这只是让代码"更具可读性"的问题吗?
我知道int和long(32位和64位数字),但是什么uint和ulong?
所以,我知道try/catch会增加一些开销,因此不是控制流程流的好方法,但是这种开销来自何处以及它的实际影响是什么?
有没有办法从命令行中抑制SQLCMD中的"x行受影响"?
我正在运行一个MSBuild脚本,并不希望它阻塞我的构建服务器上的日志.
我宁愿不必在每个脚本中添加"SET NOCOUNT ON",所以如果有办法从命令行执行,那就太棒了.
作为ASP.NET MVC的新手,我一直想知道Controller方法的签名.在我看过的所有示例中,它们似乎总是返回ActionResult,即使它们实际返回ViewResult实例或类似实例.
这是一个常见的例子:
public ActionResult Index()
{
return this.View();
}
Run Code Online (Sandbox Code Playgroud)
在这种情况下,将方法声明为public ViewResult Index()并获得更强的类型支持是不是更有意义?
实验表明这是有效的,所以似乎有可能.
我确实意识到可能存在需要多态的情况(例如,如果你只想在某些情况下重定向,但在其他情况下显示视图),但如果方法总是返回一个视图,我会发现更多的ViewResult可取的.
就未来的兼容性而言,ActionResult显然提供了更强大的签名,但如果有人控制整个代码库,则总是可以将方法的签名更改为更通用的返回类型(如果将来需要它).
是否有其他我不了解的注意事项,或者我应该继续并使用特定的返回类型声明我的控制器方法?
c# ×6
.net ×3
decimal ×2
double ×2
types ×2
actionresult ×1
asp.net-mvc ×1
cloneable ×1
currency ×1
difference ×1
icloneable ×1
inheritance ×1
integer ×1
javascript ×1
keyword ×1
oop ×1
optimization ×1
performance ×1
polymorphism ×1
precision ×1
rows ×1
signed ×1
sql-server ×1
sqlcmd ×1
suppress ×1
try-catch ×1
unsigned ×1
viewbag ×1
viewdata ×1
viewresult ×1
virtual ×1