Eh bir şey döngüsüne sahip. Aşağıdakilerden herhangi çalışacaktır:
bool exists = array.Contains(variable_1);
bool exists = Array.IndexOf(array_1, variable_1) != -1;
bool exists = Array.Exists(array_1, x => x == variable_1);
bool exists = Array.FindIndex(array_1, x => x == variable_1) != -1;
bool exists = array_1.Any(x => x == variable_1);
lambda ifadesi kullanarak sürümleri Tüm bana overkill gibi hissediyorum, ama sen gerçek değerini bilmiyoruz bir durumda kendinizi bulursanız onlar potansiyel olarak faydalı olduğunu Sadece bir koşulu arıyorsun. Eğer dizi sıralandığını biliyorsanız
, şunları kullanabilirsiniz:
bool exists = Array.BinarySearch(array_1, variable_1) >= 0;
olacak Yani O (log n) yerine (bütün diğerleri) (n) O, ancak gerektirir İlk sıralanacak dizi.
Şahsen normalde ilk formla devam ediyorum - .NET 3.5 veya üstünü kullandığınızı varsayarak.
birkaç öğeleri kontrol etmek için ihtiyaç ve dizi büyükse, bir HashSet<int>
oluşturmak isteyebilirsiniz: bir miktar gerektirir bir çoklu değer yapısının iç varlığını denetlemek için Genel olarak
HashSet<int> hashSet = new HashSet<int>(array_1);
bool exists = hashSet.Contains(variable_1);
Döngü. Bir döngüye sahip uygulamanızda bir darboğaz (profil aracılığıyla) bulduysanız, daha hızlı ilerlemek için bir dizin ekleyebilirsiniz. .NET'te, bunu gerçekleştirmenin en kolay yolu, bir Sözlük veya HashSet'tir. –