VB.NET表达预计

问题描述:

当我这样做,我得到一个消息,说表达预计VB.NET表达预计

 If (Not (String.IsNullOrEmpty(e.Item.DataItem("DueDate")) && String.IsNullOrEmpty(e.Item.DataItem("ActualDate")))) Then 


    End If 
+0

请注意,如果您更熟悉C#,通常可以用[C#to VB.Net Converter]获得很好的结果(http://www.developerfusion.com/tools/convert/csharp-to-vb/)。 – mellamokb 2012-07-31 20:43:54

+0

作为一个方面说明,如果您使用'Not 或不是'而不是'Not()',可以通过[De Morgan's law](http:///en.wikipedia.org/wiki/De_Morgan's_laws)。 – Zhihao 2012-07-31 20:46:23

如果是VB.NET则AND运算符AndAlso

AndAlso和它的兄弟OrElse因为:

  • 避免执行部分逻辑表达式以避免问题。通过不执行比任何更多的是复合式 的
  • 代码优化需要

所以,你的代码应该是

If (Not (String.IsNullOrEmpty(e.Item.DataItem("DueDate")) AndAlso String.IsNullOrEmpty(e.Item.DataItem("ActualDate")))) Then 

    .... 
End If 
+0

这也是(短路和)。 OrElse被短路或者 – 2012-07-31 20:44:02

+0

哇@Trekstuff你很快,已经纠正了这个事故 – Steve 2012-07-31 20:47:01

+0

我猜想我在同一时间回答并且想要避免混淆 – 2012-07-31 20:49:44

代替& &使用AndAlso