【发布时间】:2011-03-09 01:13:11
【问题描述】:
在一个混合代码项目(VB 和 C#)中,我们正在调试一些旧的 Visual Basic 代码,如下所示:
If Request.Params("xxx") <> "" Then
'do something
我认为这是一个错误,因为 Request.Params 可能是 null,在这种情况下,该语句将变为错误,这不是我们的想法。
所以我想。我刚刚发现——又一次——VB 的Nothing 和C# 的null 不是一回事,Nothing 与null 不同。事实上:
if(String.Empty == null) // in C# this is always false (correct)
If String.Empty = Nothing Then ' in VB this is always true (????)
这怎么可能?这是向后兼容性问题吗?
【问题讨论】:
标签: c# .net vb.net vb.net-to-c#