2013-01-15 22 views
0

我有一段VB.NET代碼,有人給我,並想知道是否有可能將其轉換爲C#。我幾乎不瞭解VB.NET的任何內容,所以我無法自己進行轉換。我不知道如何描述它,所以我只會展示它。我如何在C#中表達這個VB代碼?

Public table = New Object(15) {} 
Dim cElse As Char = "█" 

Private Sub Form_Load(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Load 
    table(0) = New Char(15) {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "+", "-", "=", "*", "%", " "} 
    table(1) = New Char(15) {"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P"} 
    table(2) = New Char(15) {"Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "(", "!", "?", Chr(147), ":", "."} '147 is open double quotes 
    table(3) = New Char(15) {"a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p"} 
    table(4) = New Char(15) {"q", "r", "s", "t", "u", "v", "w", "x", "y", "z", ")", ",", "/", "・", "~", "&"} 
    table(5) = New Char(15) {"Á", "À", "Â", "Ä", "É", "È", "Ê", "Ë", "Í", "Ì", "Ï", "Ï", "Ó", "Ò", "Ô", "Ö"} 
    table(6) = New Char(15) {"Ú", "Ù", "Û", "Ü", "á", "à", "â", "ä", "é", "è", "ê", "ë", "í", "ì", "î", "ï"} 
    table(7) = New Char(15) {"ó", "ò", "ô", "ö", "ú", "ù", "û", "ü", "Ç", "Ñ", "ç", "ñ", "Œ", "ß", "’", Chr(148)} '148 is close double-quotes 
    table(8) = New Char(15) {cElse, Chr(148), cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse} 
    table(9) = New Char(15) {cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse} 
    table(10) = New Char(15) {"‘", cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse} 
    table(11) = New Char(15) {cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse} 
    table(12) = New Char(15) {cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse} 
    table(13) = New Char(15) {cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse} 
    table(14) = New Char(15) {cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse} 
    table(15) = New Char(15) {cElse, cElse, cElse, cElse, cElse, cElse, cElse, vbNewLine, cElse, "$", cElse, cElse, cElse, cElse, cElse, "@"} '$ is variable 
End Sub 

因此,基本上它創建了一個字符表,以後用作各種密碼。

我仍然是一個業餘與C#,但我想不出一個簡單的方法來做到這一點。

如果有人知道,你不必重寫整個表,只是說哪些關鍵字和其他事情要改變。

+0

即使SO不是代碼轉換社區,我回答。 –

+0

你試過用谷歌代碼轉換器嗎? –

+0

這是一個提出編程問題的社區,不是嗎?這不是一個編程問題? –

回答

0

唯一我無法正確翻譯是vbNewLine,因爲它返回一個字符串而不是char。我用\n,希望是對的。

public object[] table = new object[15]; 
private char cElse = '█'; 

private void Form_Load(object sender, EventArgs e]) { 
    table[0] = new char[] {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '+', '-', '=', '*', '%', ' '}; 
    table[1] = new char[] {'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P'}; 
    table[2] = new char[] {'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '[', '!', '?', (char)147, ':', '.'}; //147 is open double quotes 
    table[3] = new char[] {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p'}; 
    table[4] = new char[] {'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', ']', ',', '/', '・', '~', '&'}; 
    table[5] = new char[] {'Á', 'À', 'Â', 'Ä', 'É', 'È', 'Ê', 'Ë', 'Í', 'Ì', 'Ï', 'Ï', 'Ó', 'Ò', 'Ô', 'Ö'}; 
    table[6] = new char[] {'Ú', 'Ù', 'Û', 'Ü', 'á', 'à', 'â', 'ä', 'é', 'è', 'ê', 'ë', 'í', 'ì', 'î', 'ï'}; 
    table[7] = new char[] {'ó', 'ò', 'ô', 'ö', 'ú', 'ù', 'û', 'ü', 'Ç', 'Ñ', 'ç', 'ñ', 'Œ', 'ß', '’', (char)148}; //148 is close double-quotes 
    table[8] = new char[] {cElse, Chr[148], cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse}; 
    table[9] = new char[] {cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse}; 
    table[10] = new char[] {'‘', cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse}; 
    table[11] = new char[] {cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse}; 
    table[12] = new char[] {cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse}; 
    table[13] = new char[] {cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse}; 
    table[14] = new char[] {cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse}; 
    table[15] = new char[] {cElse, cElse, cElse, cElse, cElse, cElse, cElse, '\n', cElse, '$', cElse, cElse, cElse, cElse, cElse, '@'}; //$ is variable 
} 

希望它有幫助。

+0

爲什麼投票下來? – ivowiblo

1

簡而言之:幸運的是,轉換問題主要通過可用工具來解決。

試試這個很酷的工具:Convert to C#

除了上述工具,還有對工具的建議進行討論,CONVER VB.NET到C# - Good way to convert VB.Net to C# ?

+0

這不適用於此。 –

+0

它實際上完成了大部分工作,接近95%。其餘的,如果需要的話,由程序員手動完成。 –

1
public Object[] table = new Object[16]; 
private Char cElse = '█'; 

private void Form_Load(object sender, EventArgs e) 
{ 
    table[0] = new Char[] { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '+', '-', '=', '*', '%', ' ' }; 
    // ... 

    // vbNewLine can be Environment.NewLine, but keep in mind it's not a single Char... its composed of "\r\n" or "\n" depending on the current environment... 
    // Chr(147) can be (Char)147 or Convert.ToChar(147) as it's just a Byte representation, and so on... 
} 
+2

錯過:「處理MyBase.Load」 將需要一個+ =(最好在initializecomponent中) – basarat

+0

謝謝!我不得不改變這一點,但它的工作原理。 :) –

+0

不客氣! –

0
public object[] table = new object[16]; 

char cElse = '█'; 
private void Form_Load(object sender, EventArgs e) 
{ 
    table[0] = new char[16] { 
     '0', 
     '1', 
     '2', 
     '3', 
     '4', 
     '5', 
     '6', 
     '7', 
     '8', 
     '9', 
     '+', 
     '-', 
     '=', 
     '*', 
     '%', 
     ' ' 
    }; 
    table[1] = new char[16] { 
     'A', 
     'B', 
     'C', 
     'D', 
     'E', 
     'F', 
     'G', 
     'H', 
     'I', 
     'J', 
     'K', 
     'L', 
     'M', 
     'N', 
     'O', 
     'P' 
    }; 
    table[2] = new char[16] { 
     'Q', 
     'R', 
     'S', 
     'T', 
     'U', 
     'V', 
     'W', 
     'X', 
     'Y', 
     'Z', 
     '(', 
     '!', 
     '?', 
     (char)147, 
     ':', 
     '.' 
    }; 
    //147 is open double quotes 
    table[3] = new char[16] { 
     'a', 
     'b', 
     'c', 
     'd', 
     'e', 
     'f', 
     'g', 
     'h', 
     'i', 
     'j', 
     'k', 
     'l', 
     'm', 
     'n', 
     'o', 
     'p' 
    }; 
    table[4] = new char[16] { 
     'q', 
     'r', 
     's', 
     't', 
     'u', 
     'v', 
     'w', 
     'x', 
     'y', 
     'z', 
     ')', 
     ',', 
     '/', 
     '・', 
     '~', 
     '&' 
    }; 
    table[5] = new char[16] { 
     'Á', 
     'À', 
     'Â', 
     'Ä', 
     'É', 
     'È', 
     'Ê', 
     'Ë', 
     'Í', 
     'Ì', 
     'Ï', 
     'Ï', 
     'Ó', 
     'Ò', 
     'Ô', 
     'Ö' 
    }; 
    table[6] = new char[16] { 
     'Ú', 
     'Ù', 
     'Û', 
     'Ü', 
     'á', 
     'à', 
     'â', 
     'ä', 
     'é', 
     'è', 
     'ê', 
     'ë', 
     'í', 
     'ì', 
     'î', 
     'ï' 
    }; 
    table[7] = new char[16] { 
     'ó', 
     'ò', 
     'ô', 
     'ö', 
     'ú', 
     'ù', 
     'û', 
     'ü', 
     'Ç', 
     'Ñ', 
     'ç', 
     'ñ', 
     'Œ', 
     'ß', 
     '’', 
     (char)148 
    }; 
    //148 is close double-quotes 
    table[8] = new char[16] { 
     cElse, 
     (char)148, 
     cElse, 
     cElse, 
     cElse, 
     cElse, 
     cElse, 
     cElse, 
     cElse, 
     cElse, 
     cElse, 
     cElse, 
     cElse, 
     cElse, 
     cElse, 
     cElse 
    }; 
    table[9] = new char[16] { 
     cElse, 
     cElse, 
     cElse, 
     cElse, 
     cElse, 
     cElse, 
     cElse, 
     cElse, 
     cElse, 
     cElse, 
     cElse, 
     cElse, 
     cElse, 
     cElse, 
     cElse, 
     cElse 
    }; 
    table[10] = new char[16] { 
     '\'', 
     cElse, 
     cElse, 
     cElse, 
     cElse, 
     cElse, 
     cElse, 
     cElse, 
     cElse, 
     cElse, 
     cElse, 
     cElse, 
     cElse, 
     cElse, 
     cElse, 
     cElse 
    }; 
    table[11] = new char[16] { 
     cElse, 
     cElse, 
     cElse, 
     cElse, 
     cElse, 
     cElse, 
     cElse, 
     cElse, 
     cElse, 
     cElse, 
     cElse, 
     cElse, 
     cElse, 
     cElse, 
     cElse, 
     cElse 
    }; 
    table[12] = new char[16] { 
     cElse, 
     cElse, 
     cElse, 
     cElse, 
     cElse, 
     cElse, 
     cElse, 
     cElse, 
     cElse, 
     cElse, 
     cElse, 
     cElse, 
     cElse, 
     cElse, 
     cElse, 
     cElse 
    }; 
    table[13] = new char[16] { 
     cElse, 
     cElse, 
     cElse, 
     cElse, 
     cElse, 
     cElse, 
     cElse, 
     cElse, 
     cElse, 
     cElse, 
     cElse, 
     cElse, 
     cElse, 
     cElse, 
     cElse, 
     cElse 
    }; 
    table[14] = new char[16] { 
     cElse, 
     cElse, 
     cElse, 
     cElse, 
     cElse, 
     cElse, 
     cElse, 
     cElse, 
     cElse, 
     cElse, 
     cElse, 
     cElse, 
     cElse, 
     cElse, 
     cElse, 
     cElse 
    }; 
    table[15] = new char[16] { 
     cElse, 
     cElse, 
     cElse, 
     cElse, 
     cElse, 
     cElse, 
     cElse, 
     Environment.Newline, 
     cElse, 
     '$', 
     cElse, 
     cElse, 
     cElse, 
     cElse, 
     cElse, 
     '@' 
    }; 
    //$ is variable 
} 
0
public char[][] table; 

private void Form_Load(object sender, EventArgs e) 
{ 
    table = new char[16, 16] 
    {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '+', '-', '=', '*', '%', ' '}, 
    {'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P'}, 
    {'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '(', '!', '?', (char)147, ':', '.'}, 
    {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p'}, 
    {'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', ')', ',', '/', '・', '~', '&'}, 
    {'Á', 'À', 'Â', 'Ä', 'É', 'È', 'Ê', 'Ë', 'Í', 'Ì', 'Ï', 'Ï', 'Ó', 'Ò', 'Ô', 'Ö'}, 
    {'Ú', 'Ù', 'Û', 'Ü', 'á', 'à', 'â', 'ä', 'é', 'è', 'ê', 'ë', 'í', 'ì', 'î', 'ï'}, 
    {'ó', 'ò', 'ô', 'ö', 'ú', 'ù', 'û', 'ü', 'Ç', 'Ñ', 'ç', 'ñ', 'Œ', 'ß', '’', (char)148}, 
    {cElse, (char)148, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse}, 
    {cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse}, 
    {'‘', cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse}, 
    {cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse}, 
    {cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse}, 
    {cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse}, 
    {cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse, cElse}, 
    {cElse, cElse, cElse, cElse, cElse, cElse, cElse, Environment.Newline, cElse, '$', cElse, cElse, cElse, cElse, cElse, '@'}}; 
} 

對不起,不能幫助定義cElse,因爲我看不到實際的字符是什麼,但其他一切都應該是好的。

+0

這與原始代碼不一樣。原始代碼創建了一個char數組數組。這是char的二維數組。 –