gpt4 book ai didi

c# - 如何将 vb .net 函数转换为 c#?

转载 作者:太空宇宙 更新时间:2023-11-03 20:22:06 25 4
gpt4 key购买 nike

我想将 vb .net 函数转换为 C#..我已经转换了它,但它没有按预期返回输出

VB.net 函数

 Public Function DecryptString(ByVal EncryptedString As String) As String

Dim TempLine As String = Nothing
Dim TempChar As String = Nothing
Dim FinalStr As String = Nothing
Dim i As Integer = 0
Dim value As Integer = 0

FinalStr = Nothing
value = 0

If EncryptedString <> "" Then
For i = 1 To Len(EncryptedString)
Try
TempChar = Mid(EncryptedString, i, 1)
value = Asc(TempChar)
value = (value - (120))
FinalStr = FinalStr & Chr(value)
Catch
DecryptString = ""
Exit Function
End Try
Next
DecryptString = FinalStr
Exit Function
End If

DecryptString = ""
End Function

C#函数

 public string DecryptString(string EncryptedString)
{
string substr = null;
char TempChar; int ExtraChars = 0; string ExtraOnes = "";
string FinalStr = null;
int i = 0;
int value = 0;
FinalStr = null;
value = 0;
if ((EncryptedString != ""))
{
for (i = 1; (i <= EncryptedString.Length); i++)
{
try
{
substr = EncryptedString.Substring((i - 1), 1);
TempChar = Convert.ToChar(substr);
value = (value - 120);
FinalStr = (FinalStr + ((char)(value)));
}
catch (System.Exception e)
{

// TODO: Exit Function: Warning!!! Need to return the value
return "";
}
}
return FinalStr;
}
return "";
}

我无法找到为什么它没有返回正确的输出

最佳答案

试试这个:

VB.Net to C# Conversion

public string DecryptString(string EncryptedString)
{
string functionReturnValue = null;

string TempLine = null;
string TempChar = null;
string FinalStr = null;
int i = 0;
int value = 0;

FinalStr = null;
value = 0;

if (!string.IsNullOrEmpty(EncryptedString)) {
for (i = 1; i <= Strings.Len(EncryptedString); i++) {
try {
TempChar = Strings.Mid(EncryptedString, i, 1);
value = Strings.Asc(TempChar);
value = (value - (120));
FinalStr = FinalStr + Strings.Chr(value);
} catch {
functionReturnValue = "";
return functionReturnValue;
}
}
functionReturnValue = FinalStr;
return functionReturnValue;
}

functionReturnValue = "";
return functionReturnValue;
}

引用:

1.) Strings.Asc Method (String) :返回一个Integer值,代表一个字符对应的字符编码。(命名空间:Microsoft.VisualBasic)

2.) What's the equivalent of VB's Asc() and Chr() functions in C#? :

对于 Asc() ,您可以像这样将 char 转换为 int:

int i = (int)your_char;

对于 Chr(),您可以像这样从 int 转换回 char:

char c = (char)your_int;

关于c# - 如何将 vb .net 函数转换为 c#?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12870478/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com