私は通常C#で家にいますが、いくつかのVB.NETコードではパフォーマンスの問題を見ています - タイプのデフォルト値(C#のdefault
キーワードのようなもの)と何かを比較できるようにしたい)。VB.NETでC#の `default`と同等のものは何ですか?
public class GenericThing<T1, T2>
{
public T1 Foo(T2 id)
{
if(id != default(T2)) // There doesn't appear to be an equivalent in VB.NET for this(?)
{
// ...
}
}
}
私はNothing
は、意味的に同じであったことを信じるように導かれた、まだ私がしなければは:T2
はInteger
で、id
の値が0
とき
Public Class GenericThing(Of T1, T2)
Public Function Foo(id As T2) As T1
If id IsNot Nothing Then
' ...
End If
End Function
End Class
その後、状態がまだ通過し、 if
の本文が評価されます。私がない場合は:
Public Function Bar(id As Integer) As T1
If id <> Nothing Then
' ...
End If
End Function
が続いて条件が満たされていない、と体が評価されていない元のC#コードはコンパイルされませんよう...
[VBのC#の既定値(T)]の複製が可能です(http://stackoverflow.com/questions/833791/vb-equivalent-for-cs-defaultt) – decyclone
@decycloneその質問は一般的なケースをカバーしていません;実際に私の質問では、私はほとんどの場合 'Nothing'を使用することを知っていることを示しています... –