草庐IT

float_ref

全部标签

c# - 为什么 C# 中的整数除法返回整数而不是 float ?

有谁知道为什么C#中的整数除法返回整数而不是float?它背后的想法是什么?(难道只是C/C++的遗留问题?)在C#中:floatx=13/4;//==operatorisoverriddenheretouseepsiloncompareif(x==3.0)print'Helloworld';这段代码的结果是:'Helloworld'严格来说,不存在整数除法(除法定义为产生有理数的运算,整数是其中非常小的一个子集。) 最佳答案 虽然新程序员在实际打算使用浮点除法时犯下执行整数除法的错误是很常见的,但在实际操作中整数除法是一种非常常见

c# - C# 中的 float 学是否一致?是真的吗?

不,这不是另一个“为什么(1/3.0)*3!=1”问题。我最近一直在阅读有关float的文章;具体来说,相同的计算如何在不同的架构或优化设置上给出不同的结果。这是存储重播的视频游戏的问题,或者是peer-to-peernetworked(与服务器-客户端相反),它依赖于所有客户端在每次运行程序时生成完全相同的结果——一次浮点计算中的微小差异可能导致不同机器(甚至onthesamemachine!)即使在“跟随”IEEE-754的处理器中也会发生这种情况,主要是因为某些处理器(即x86)使用doubleextendedprecision.也就是说,它们使用80位寄存器进行所有计算,然后截

c# - C# 中的 float 学是否一致?是真的吗?

不,这不是另一个“为什么(1/3.0)*3!=1”问题。我最近一直在阅读有关float的文章;具体来说,相同的计算如何在不同的架构或优化设置上给出不同的结果。这是存储重播的视频游戏的问题,或者是peer-to-peernetworked(与服务器-客户端相反),它依赖于所有客户端在每次运行程序时生成完全相同的结果——一次浮点计算中的微小差异可能导致不同机器(甚至onthesamemachine!)即使在“跟随”IEEE-754的处理器中也会发生这种情况,主要是因为某些处理器(即x86)使用doubleextendedprecision.也就是说,它们使用80位寄存器进行所有计算,然后截

c# - 不能在 lambda 表达式中使用 ref 或 out 参数

为什么不能在lambda表达式中使用ref或out参数?我今天遇到了这个错误并找到了解决方法,但我仍然很好奇为什么这是一个编译时错误。CS1628:Cannotuseinreforoutparameter'parameter'insideananonymousmethod,lambdaexpression,orqueryexpression这是一个简单的例子:privatevoidFoo(){intvalue;Bar(outvalue);}privatevoidBar(outintvalue){value=3;int[]array={1,2,3,4,5};intnewValue=arr

c# - 不能在 lambda 表达式中使用 ref 或 out 参数

为什么不能在lambda表达式中使用ref或out参数?我今天遇到了这个错误并找到了解决方法,但我仍然很好奇为什么这是一个编译时错误。CS1628:Cannotuseinreforoutparameter'parameter'insideananonymousmethod,lambdaexpression,orqueryexpression这是一个简单的例子:privatevoidFoo(){intvalue;Bar(outvalue);}privatevoidBar(outintvalue){value=3;int[]array={1,2,3,4,5};intnewValue=arr

c# - 谁能用 C# 中的带符号 float 解释这种奇怪的行为?

这是带有注释的示例:classProgram{//firstversionofstructurepublicstructD1{publicdoubled;publicintf;}//duringsomechangesincodethenwegotD2fromD1//FieldftypebecamedoublewhileitwasintbeforepublicstructD2{publicdoubled;publicdoublef;}staticvoidMain(string[]args){//ScenariowiththefirstversionD1a=newD1();D1b=newD

c# - 谁能用 C# 中的带符号 float 解释这种奇怪的行为?

这是带有注释的示例:classProgram{//firstversionofstructurepublicstructD1{publicdoubled;publicintf;}//duringsomechangesincodethenwegotD2fromD1//FieldftypebecamedoublewhileitwasintbeforepublicstructD2{publicdoubled;publicdoublef;}staticvoidMain(string[]args){//ScenariowiththefirstversionD1a=newD1();D1b=newD

c# - 在 Moq 中分配 out/ref 参数

是否可以分配out/ref参数使用Moq(3.0+)?我看过使用Callback(),但是Action不支持ref参数,因为它基于泛型。我还希望对It.Is的输入施加约束(ref)参数,尽管我可以在回调中这样做。我知道RhinoMocks支持此功能,但我正在从事的项目已经在使用Moq。 最佳答案 对于“out”,以下似乎对我有用。publicinterfaceIService{voidDoSomething(outstringa);}[TestMethod]publicvoidTest(){varservice=newMock();

c# - 在 Moq 中分配 out/ref 参数

是否可以分配out/ref参数使用Moq(3.0+)?我看过使用Callback(),但是Action不支持ref参数,因为它基于泛型。我还希望对It.Is的输入施加约束(ref)参数,尽管我可以在回调中这样做。我知道RhinoMocks支持此功能,但我正在从事的项目已经在使用Moq。 最佳答案 对于“out”,以下似乎对我有用。publicinterfaceIService{voidDoSomething(outstringa);}[TestMethod]publicvoidTest(){varservice=newMock();

c# - 为什么在传递对象时使用 'ref' 关键字?

如果我将对象传递给方法,为什么要使用ref关键字?这不是默认行为吗?例如:classProgram{staticvoidMain(string[]args){TestReft=newTestRef();t.Something="Foo";DoSomething(t);Console.WriteLine(t.Something);}staticpublicvoidDoSomething(TestReft){t.Something="Bar";}}publicclassTestRef{publicstringSomething{get;set;}}输出为“Bar”,表示对象作为引用传递。