自己参照しているように見える VB.NET のステートメント (この効果が C# に存在するかどうかはわかりません) に何度か噛まれましたが、それらが実行されても実際には何もしません。ターゲットと 1 が提供されていません。例えば:
Dim MyString as string = "String to test"
' Neither of these lines do anything '
MyString.Replace(" ", "-")
MyString.Substring(0,5)
' This will return the original string, because neither statement did anything '
Messagebox.Show(MyString)
どちらの場合も、ステートメントが結果を代入するターゲットを必要とすることは .NET を悩ませているようには見えません。IDE/コンパイラがこの影響について警告しない、または例外「Statement DoestDoAnything」がスローされない理由はありますか? コードは何も変更しないように作成されているため、明らかに入力ミスです。