Microsoft.Visualbasic
(トップメニューの「参照の追加」および「.NET」タブの下)への参照を追加し、 and の動作を完全にエミュレートする場合は and を使用する必要がありますStrings.Chr
(Garry Shutlerの回答によるこのリンクで警告されているように)。コードは次のようになります。Strings.Asc
Chr
Asc
string Part1 = "Some string";
string p_str = null;
for (int I = 0; I < Part1.Length; I++)
{
p_str = Strings.Chr(Strings.Asc(Part1.Substring(I, 1)) + 17).ToString();
}
明確化 1: 投稿している元のコードは (純粋な) VB.NETではなく、VB です (VB.NET ではほとんどの VB コマンドを書き込むことができます)。そのため、非常に多くの変更が必要になります (たとえば、開始インデックスの変更)。VB.NET は、これよりも C#.NET にはるかに似ています (以下に示すように)。
明確化 2:前述のリンクで最も投票数の多い回答でわかるように、VB のAsc
とChr
の C# 変換は単なるキャスト (とint
とそれぞれ) であることが一般に認められています。char
これは間違っています。このコードを両方の選択肢でテストして、Strings
オプションのみが常に正しい結果をもたらすことを確認してください。
「適切な」VB.NET コード:
Dim Part1 As String = "Some string"
Dim p_str As String = Nothing
For I As Integer = 0 To Part1.Length - 1
p_str = Chr(Asc(Part1.Substring(I, 1)) + 17)
Next