2016-07-06 88 views
-4

我很新的C#,但自從我學習過其他編程語言之前,學習它會很好,但我堅持這一部分,我試圖「端口」我的舊的python應用程序需要一個字符串或用戶輸入並加密它。 python代碼如下,我的問題是做了所有事情之後,包括for循環。我如何去尋找字符串中的每個字母。C#循環和加密

CHARACTER= "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890-=+_)(*&^%$#@!?><|:;}{][" 

translated = '' 


for uniqueKey in message: 
    if uniqueKey in CHARACTER: 
     num = CHARACTER.find(uniqueKey) 

     if mode == "encrypt": 
      num += key 
     elif mode == "decrypt": 
      num -= key 
     if num >= len(CHARACTER): 
      num -= len(CHARACTER) 
     elif num < 0: 
      num += len(CHARACTER) 

     translated = translated + CHARACTER[num] 
    else: 
     translated = translated + uniqueKey 
+1

我投票結束這個問題作爲題外話,因爲SO不是代碼翻譯服務。 –

+0

@NathanBel首先發布您在c#中嘗試過的內容,並在您的c#代碼中插入哪些內容,而不是您的python代碼。 – Prix

+2

歡迎來到StackOverflow!如果你將自己的嘗試包含在C#解決方案中以及遇到了什麼問題,那會更好。 「所有這一切」都會讓你的問題關閉太寬泛和/或缺少必需的代碼。 – AlG

回答

-1

我認爲您正在尋找的功能是IndexOf()。這相當於你的find上面的呼叫:

foreach (var uniqueKey in message) 
{ 
    var num = CHARACTER.IndexOf(uniqueKey); 
    if (num >= 0) 
    { 
     ... 
    } 
} 
+0

關注評論downvoter? – AdamRossWalker

+0

不是下來的選民,但也許你會想,勺子不會幫助OP,因爲他不會從中學習,只會回來準備好去代碼。特別是當問題由於缺乏用戶提供他的試驗和錯誤而被擱置時。 – Prix

+0

謝謝。我只是想在別人沒有的時候我會幫助別人,我需要這些觀點。 – AdamRossWalker