我只是想知道.net框架中是否有任何内置,我可以轻松返回两个数字之间的增量?我编写的代码可以做到这一点,但听起来应该已经在框架中了.
Rob*_*vey 61
delta = Math.Abs(a - b);
Run Code Online (Sandbox Code Playgroud)
abe*_*nky 18
我的印象是"delta"是两个数字之间的差异.
在你以不同的方式告诉我之前,我想你想要的是:
delta = Math.Abs(a - b);
Run Code Online (Sandbox Code Playgroud)
Jul*_*anR 15
public static int Delta(int a, int b)
{
int delta = 0;
if (a == b)
{
return 0;
}
else if (a < b)
{
while (a < b)
{
a++;
delta++;
}
return delta;
}
else
{
while (b < a)
{
b++;
delta++;
}
return delta;
}
}
Run Code Online (Sandbox Code Playgroud)
:p
哦,小男孩,我希望没有(未来)雇主遇到这个,并在他到达这篇文章结尾之前厌恶地阅读.
Dan*_*ker 11
Linq版本(需要CLR 4.0).
(手指裂开,喉咙松弛)
var delta = (from t in Enumerable.Range(a, a).Zip(Enumerable.Range(b, b))
select Math.Abs(t.Item1 - t.Item2))
.First();
Run Code Online (Sandbox Code Playgroud)
public static int Delta(int a, int b)
{
return a > 0? Delta(a-1, b-1) : a < 0 ? Delta(a+1, b+1) : b > 0 ? b : -b;
}
Run Code Online (Sandbox Code Playgroud)
我认为这甚至比@JulianR Delta实施更好:-p
编辑:我没有意识到这已经被@Robert Harvey建议,归功于他;-)