J'essaie de comprendre pourquoi les deux échantillons de code se comportent différemment. J'ai toujours cru que la fonction If() imitait la fonction If. Ou est-ce que je regarde un comportement de Nullable (Of Integer) qui cause cela?Valeur par défaut de l'entier nullable différente dans la fonction If()
Exemple n ° 1:
If Not String.IsNullOrWhiteSpace(PC.SelectedValue) Then
Dim pcFilter1 As Integer? = CInt(PC.SelectedValue)
Else
Dim pcFilter1 As Integer? = Nothing
End If
Exemple # 2:
Dim pcFilter2 As Integer? = If(Not String.IsNullOrWhiteSpace(PC.SelectedValue),
CInt(PC.SelectedValue),
Nothing)
Résultat:
pcFilter1 = Nothing
pcFilter2 = 0
bien expliqué. Je vous remercie! – motto