簡體   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