将两行从VB.NET转换为C#

时间:2012-10-26 21:31:38

标签: c# vb.net

我似乎无法将以下内容从VB.NET正确转换为C# -

iKeyChar = Asc(mid(g_Key, i, 1))
iStringChar = Asc(mid(strCryptThis,i,1))

这是我转换的C#代码,似乎没有输出等效值 -

iKeyChar = Convert.ToInt32(g_Key.Substring(i, 1));
iStringChar = Convert.ToInt32(strCryptThis.Substring(i, 1));

非常感谢任何帮助!

4 个答案:

答案 0 :(得分:8)

这是因为Mid是一个基础而Substring基于零。试试这种方式:

iKeyChar = (int)Convert.ToChar(g_Key.Substring(i-1, 1));
iStringChar = (int)Convert.ToChar(strCryptThis.Substring(i-1, 1));

答案 1 :(得分:1)

答案 2 :(得分:0)

试试这个:

        int iKeyChar = Convert.ToChar(g_key.Substring(i, 1));
        int iStringChar = Convert.ToChar(strCryptThis.Substring(i, 1));

答案 3 :(得分:0)

只需通过字符串中的索引访问所需的字符串,然后将其转换为int

iKeyChar = (int)g_Key[i - 1];
iStringChar = (int)strCryptThis[i - 1];

请注意,字符串字符的索引是零(正如System Down在帖子中所说)。

相关问题