Vb.net Delphi到VBNet的代码转换(如何?)

Vb.net Delphi到VBNet的代码转换(如何?),vb.net,delphi,Vb.net,Delphi,我有一个Delphi代码: function EnDeCrypt(const Value : String) : String; var CharIndex : integer; begin Result := Value; for CharIndex := 1 to Length(Value) do Result[CharIndex] := chr(not(ord(Value[CharIndex]))); end; 如何将其转换为.Net?如果RRUZ提供的功能(现在

我有一个Delphi代码:

function EnDeCrypt(const Value : String) : String;
var
CharIndex : integer;
begin
    Result := Value;
    for CharIndex := 1 to Length(Value) do
    Result[CharIndex] := chr(not(ord(Value[CharIndex])));
end;

如何将其转换为.Net?

如果RRUZ提供的功能(现在已删除)确实是您想要的(我仍然对编码问题有点怀疑),那么您可以这样编写:

Private Function EnDeCrypt(ByVal Value As String) As String

    Dim transformed = Encoding.Unicode.GetBytes(Value).Select( _
        Function(item) Not item)
    Return Encoding.Unicode.GetString(transformed.ToArray())

End Function

您使用的是什么编码?我认为Delphi代码假定为ANSI,但是.net是非常面向Unicode的。您接受的答案是基于Unicode的。如果给定某些输入,您接受的答案将导致无效字符串。您使用的是什么编码?我无法回答您的问题,因为我不知道编码。但答案是一样的。为什么会这样?在我的测试中,你接受的答案不会解码字符串。我怀疑,除非你解决了编码问题,否则你很可能在为将来积累麻烦。一些快速单向测试可能不够全面。你能告诉我你的代码是用什么版本的Delphi编译的吗?实际上这是我朋友的代码。他正在与Delphi6合作。让我试试你的答案。
转换的数据类型是什么?因为我在
@johntetwoo上启用了严格的
选项是的,它是
IEnumerable(字节)
+1您的答案简短且更好:),现在您可以删除关于我答案的注释。