2011-09-29 1 views
2

En C#, nous pouvons déclarer une liste pour stocker int, commeC# - liste pour stocker les types nullables

Liste myList = new List {1,1,2};

Je veux également stocker des valeurs nulles (type nullable), donc je veux créer une liste de types Nullable. Quelque chose comme ceci

 List<?int> myList = new List<int> {1,1,2}; 

Le code ci-dessus ne compile pas. Est-ce que .Net supporte la liste des types nullables?

Atul Sureka

+0

Vous comprenez que d'avoir un élément dans une liste qui est nulle va créer Havok sur toute tentative de boucle à travers elle à droite? Êtes-vous sûr à 100% que vous voulez vraiment mettre un objet nul dans une liste? –

Répondre

8

Bien sûr, vous avez besoin

List<int?> myList = new List<int?> {1,1,2}; 
  1. Il est int? pas ?int
  2. Vous avez besoin du nullable int quand vous le construire ainsi que dans la définition de la variable.

Comme une note de côté, vous ne pouvez pas déclarer en fait une liste comme List myList = new List {1, 1, 2}; comme il n'y a pas List non générique.

+0

Il existe 'ArrayList' qui est non générique. –

+0

@JonathanDickinson bien sûr – Ray

1

Vous ne devriez pas utiliser ?int mais int?.

0

Essayez List<int?> myList= new List<int?>();

0

Avez-vous essayé List<int?> myList = new List<int?> {1,1,2};?

0

cette compile

List<int?> ints = new List<int?> { 1, 2, 3 }; 
+0

Merci cela a fonctionné. –

Questions connexes