繁体   English   中英

如何将以下javascript转换为C#?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM