[英]How do I translate the below javascript to C#?
我不明白“(+ s [i])”中如何使用“ s”。 “ +”是什么意思? 我也不理解||的用法 以这种方式显示符号,它在做什么?
var draw = function(s){
...
if (+s[i]) a = (a+90)%360||360; // Right
else a = (a-90||360); // Left
在下面的代码中,我不明白“ while(n--)”是什么意思?
var getS = function(n){
var s = '';
while (n--) s += getNext(0);
return s;
};
如果要在上下文中查看此代码,请访问http://fractal.qfox.nl/并按F12键以建立开发人员工具,并在脚本中查找dragon.js。 如果您愿意接受挑战,也可以随意发布完整的C#翻译。
在表达式前面加上+会将其强制转换为数字,例如从字符串开始。
|| 如果运算符可以转换为true,则其左侧的值为;否则,右侧的值为。 因此,a || b表示“如果不为null,false,零或空字符串,则使用a,否则使用b”。
当n达到零时, n--
布尔值将为false。
if (+s[i])
正在检查s [i]是否存在并且是一个数字!=0。在C#中,它与
int n;
if (int.TryParse(s[i], out n) && n != 0) { }
a = (a-90||360);
基本上是说||的左侧 为null,未定义,false或零,然后取右边。 在C#中看起来像
a = (a-90 > 0)? a-90 : 360;
但必须在该行之前声明a
。
while (n--){ }
一直重复直到n为0。尽管在运行该代码之前必须先声明n,例如var n = 10;
。 在C#中
int n = 10;
while (n >= 0)
{
n--;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.