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