In a recent post to his blog, Paul Vick discusses the new IsNot Operator (and the history/rational behind the Is operator), which allows you to write;
If myString IsNot Nothing Then
If Not myString Is Nothing Then
and then, in another post, he covers the new TryCast operator (which is like C#’s ‘as’ operator), which will allow you to save a bit of extra work (and produce a slight perf improvement in some situations) when checking to see if an object can be cast to a specific type …. allowing you to write;
Sub Print(ByVal o As Object) Dim PrintableObject As IPrintable _ = TryCast(o, IPrintable) If PrintableObject IsNot Nothing Then PrintableObject.Print() End If ... End Sub
instead of the slightly less efficient
Sub Print(ByVal o As Object) Dim PrintableObject As IPrintable If TypeOf o Is IPrintable Then PrintableObject = CType(o, IPrintable) PrintableObject.Print() End If ... End Sub
Thoughts on this post? Feel free to reach out on Twitter!