Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

Nouveautés VB 2008 [VB 9.0] : Types Valeur nullables

Vous avez très certainement (heu non, vous avez !) souhaité utiliser un Type Valeur dont la valeur n'est pas définie dans certains cas... Particulièrement dans le cadre d'objets correspondants à des entités ou structures de données provenant de bases de données.  En clair, vous avez un champ d'une base de données ne possédant aucune valeur assignée... soit la valeur Null (Nothing en VB).

Depuis l'arrivée du .NET Framework 2.0 (et plus particulièrement des types génériques), nous avons la possibilité d'étendre les Types Valeur en vue d'accepter une valeur normale ou une valeur Null (soit Nothing dans notre cas... pour ceux qui n'auraient pas lu le premier :p) !

Voyez l'exemple ci-dessous réalisé sous Visual Studio 2005 / VB 8.0:

image

Comme vous le remarquez, le constructeur Nullable que nous avons exploité initialise le propriété HasValue du nouvel objet Nullable que nous exploitons afin d'identifier si nous avons ou non une valeur Null.

Ceci est déjà très sympathique mais reste cependant relativement lourd au quotidien. 

Afin d'optimiser notre travail et surtout en vue de l'introduction de LINQ (LINQ to SQL par ex) au sein du .NET Framework 3.5 et de Visual Basic 9.0, nous retrouvons une nouveauté que sont les : Types Valeur Nullable !

  • Les Types Valeur Nullables

Pour résumer, les Types Valeur peuvent être étendus afin d'accepter une valeur normale ou une valeur Null.

Chaque Type Nullable est ainsi construit à partir de la structure Nullable(T) générique.

Vous avez ainsi la possibilité d'écrire un Type Valeur Nullable de 3 manières différentes :

image

Vous reconnaîtrez que les deux premières lignes sont plus élégantes que la troisième.

Si nous prenons l'exemple d'un Type Valeur Nullable Boolean comme suit :

Dim myNullBool As Boolean?

Notre valeur "MyNullBool" peut prendre les valeurs suivantes : True, False ou aucune valeur !

A noter que vous ne pouvez construire un type nullable sur un Type Référence comme par exemple un tableau, un String ainsi qu'une classe.

image

Vous retrouverez sur un Type Valeur Nullable deux propriétés majeures que sont "HasValue" vous retournant une valeur True/False en fonction de la contenance ou non d'une valeur de votre variable ainsi que "Value" permettant de la récupérer.

Observez les deux extraits de code suivants illustrant ces explications :

imageimage 

Nous voici donc au terme de la présentation des Types Valeur Nullables. 

Si vous souhaitez poursuivre votre découverte et par exemple explorer la comparaison de Types Valeur Nullables ou encore la propagation des Types Valeur Nullable au sein des opérandes, consultez l'article MSDN suivant :

http://msdn2.microsoft.com/fr-fr/library/ms235245.aspx

Qqs liens complémentaires :

Bon Code

R.
Member of WygTeam
www.wygwam.com

Publié vendredi 1 février 2008 07:25 par redo
Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :

Commentaires

# re: Nouveautés VB 2008 [VB 9.0] : Types Valeur nullables

en gros, ils ont fait comme pour C# 2.0... c'est une bonne chose pour la lisibilité. :)

vendredi 1 février 2008 09:18 by sebmafate

# re: Nouveautés VB 2008 [VB 9.0] : Types Valeur nullables

Bonjour,

Pour info, un article tout récent sur DevX.com, intitulé :

"Fall In Love with Visual Basic All Over Again in Visual Studio 2008"

http://www.devx.com/dotnet/Article/36826#codeitemarea

L'auteur détaille les points suivants, avec exemples en VB 8.0 et VB 9.0.

Il donne son avis sur les différentes nouvelles fonctionnalités.

• Enhanced IntelliSense

• Snippets that Work

• Friend Assemblies

• Updated Ternary Operator

• Better Nullable Types

• Partial Methods

• Object Initializers

• Implicit Types / (Local) Type Inference   ****

• Anonymous Types                                  ****

• Relaxed Delegates                                 **

• Extension Methods

Author's Note: The list is color coded: the green items are features I love, the red items are features you should avoid, and the blue item is a feature I think you should be wary of. The section heading colors for the listed items match the list colors, so you can immediately tell how I feel about each feature.

Manque de chance, les couleurs ne passent.

Tous les points sont en vert (he loves), sauf les points en rouge (j'ai mis ****) (he hates) et un point en bleu (j'ai mis **) (be caution).

Je rajouterais que moi aussi j'aime le Basic (j'ai commencé avec le tout premier Basic de Microsoft en 1980).

Je n'aime pas le C# mais je comprends parfaitement que les personnes ayant appris le C++ et le Java, et ne connaissant pas à fond VB, préfèrent le C#.

Il faut de tout pour faire un monde.

Dominique

samedi 2 février 2008 10:07 by dominique Gratpain
Les commentaires anonymes sont désactivés

Les 10 derniers blogs postés

- Merci par Blog de Jérémy Jeanson le 10-01-2019, 20:47

- Office 365: Script PowerShell pour auditer l’usage des Office Groups de votre tenant par Blog Technique de Romelard Fabrice le 04-26-2019, 11:02

- Office 365: Script PowerShell pour auditer l’usage de Microsoft Teams de votre tenant par Blog Technique de Romelard Fabrice le 04-26-2019, 10:39

- Office 365: Script PowerShell pour auditer l’usage de OneDrive for Business de votre tenant par Blog Technique de Romelard Fabrice le 04-25-2019, 15:13

- Office 365: Script PowerShell pour auditer l’usage de SharePoint Online de votre tenant par Blog Technique de Romelard Fabrice le 02-27-2019, 13:39

- Office 365: Script PowerShell pour auditer l’usage d’Exchange Online de votre tenant par Blog Technique de Romelard Fabrice le 02-25-2019, 15:07

- Office 365: Script PowerShell pour auditer le contenu de son Office 365 Stream Portal par Blog Technique de Romelard Fabrice le 02-21-2019, 17:56

- Office 365: Script PowerShell pour auditer le contenu de son Office 365 Video Portal par Blog Technique de Romelard Fabrice le 02-18-2019, 18:56

- Office 365: Script PowerShell pour extraire les Audit Log basés sur des filtres fournis par Blog Technique de Romelard Fabrice le 01-28-2019, 16:13

- SharePoint Online: Script PowerShell pour désactiver l’Option IRM des sites SPO non autorisés par Blog Technique de Romelard Fabrice le 12-14-2018, 13:01