double.MaxValue
和double.MinValue
在以下背景中的含义是什么:
double minX, minY, maxX, maxY;
minX = double.MaxValue;
minY = double.MaxValue;
maxX = double.MinValue;
maxY = double.MinValue;
for(int i = 0 ; i < HPts.BranchCount; i++){
foreach(Point3d pt in HPts.Branch(i)){
if(minX > pt.X){
minX = pt.X;
}
if(minY > pt.Y){
minY = pt.Y;
}
if(maxX < pt.X){
maxX = pt.X;
}
if(maxY < pt.Y){
maxY = pt.Y;
}
答案 0 :(得分:4)
它们是您可以在double
中存储的最大值和最小值。
这用于确定最小/最大X和Y位置。例如,首先将minX
设置为double的最大允许值,第一次循环,minX > pt.X
将为true,这将导致minX
设置为第一次X值。最终,X的最小值将存储在那里。
答案 1 :(得分:2)
当您在集合中寻找最小值时,一种常见的方法是将结果初始化为超出集合中任何可能数字的值。这样,第一次比较就会成功,使初始值成为新的最小值。 double.MaxValue提供了这样一个值:其他有效的双精度数小于它。
当您的收藏品被允许为空时,您可以这样做;否则,您可以将当前最小值和最大值初始化为集合的初始元素。
答案 2 :(得分:0)
双精度浮点数支持的最大值和最小值。使用默认/初始值。
正面/负面 - &gt; 1.7976931348623157E + 308。
http://msdn.microsoft.com/en-us/library/system.double.minvalue(v=vs.110).aspx
http://msdn.microsoft.com/en-us/library/system.double.maxvalue(v=vs.110).aspx