Attemping pour ajouter une valeur à un HashSet ne change pas la quantité de valeurs qu'il
J'ai un HashSet
et quand j'utilise le Add
méthode de la collecte, rien n'est ajouté. La sortie est toujours 2, 3, 5, 7, 11, 13
et la sortie de .Count
est 6.
Est-ce un bug ou ai-je fait quelque chose de mal ici?
namespace AllerDiz
{
class MainClass
{
public static void Main (string[] args)
{
HashSet<int> smallPrimeNumbers = new HashSet<int> { 2, 3, 5, 7, 11, 13 };
smallPrimeNumbers.Add (3);
smallPrimeNumbers.Add (5);
smallPrimeNumbers.Add (7);
Console.WriteLine ("{0}", smallPrimeNumbers.Count);
foreach(int val in smallPrimeNumbers)
{
Console.WriteLine ("HashSet Value= {0}", val);
}
}
}
}
Pourquoi cette question, obtenir un downvote?
Je vois qu'il ya des recherches effectuées tout en affichant la question. Il est préférable d'apprendre les bases en premier.
Je vois qu'il ya des recherches effectuées tout en affichant la question. Il est préférable d'apprendre les bases en premier.
OriginalL'auteur somethingSomething | 2013-12-28
Vous devez vous connecter pour publier un commentaire.
Non, ce n'est pas un bug. C'est précisément la façon dont un
HashSet
est censé fonctionner.Donc, si l'élément que vous essayez d'ajouter existe déjà dans le jeu, le jeu n'est pas modifié.
Si vous voulez une collection qui ne permet pas de doublons, regardez
List<T>
.OriginalL'auteur p.s.w.g
De
HashSet<T> Class
De
HashSet<T>.Méthode Add
HashSet
est une sorte de collection optimisée. Son constructeur élimine la non-éléments uniques.Par exemple;
array2
sera{"one", "two", "three"}
Si vous souhaitez ajouter des valeurs en double,
List<int>
collection vous permet d'ajouter des valeurs en double.OriginalL'auteur Soner Gönül
L'une des principales caractéristiques de HashSet est de s'assurer il n'y a pas de doublons
OriginalL'auteur Robert Levy