我已经被 VB.NET 中的语句(不确定 C# 中是否存在这种效果)所困扰,这些语句似乎是自引用的,但是当它们被执行时,它们实际上并没有做任何事情,因为它们需要一个目标,一个没有提供。例如:
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/编译器是否有原因没有警告我这种效果,或者没有抛出异常“StatementDoesntDoAnything”?由于代码的形成方式永远不会改变任何东西,因此很明显是输入错误。