Bir HashSet <T> dosyasını .NET'deki bir diziye nasıl dönüştürebilirim?Bir HashSet <T> dosyasını bir dizide dönüştürme .NET
cevap
HashSet<T>.CopyTo
yöntemini kullanın. Bu yöntem, öğeleri HashSet<T>
'dan bir diziye kopyalar.
Yani verilen adında bir HashSet<String>
stringSet
böyle bir şey yapacağını:
String[] stringArray = new String[stringSet.Count];
stringSet.CopyTo(stringArray);
HashSet.ToArray() daha basit –
ToArray var mı? – Konstantin
@ Konstantin HashSet
herhangi ICollection<T>
uygulanması için olduğu gibi
function T[] ToArray<T>(ICollection<T> collection)
{
T[] result = new T[collection.Count];
int i = 0;
foreach(T val in collection)
{
result[i++] = val;
}
}
sanırım.
Aslında HashSet<T>
sınıfını kullanmak System.Core
başvurmalıdır olarak aslında siz de kullanabilecek: Eğer System.Collections.Generic.HashSet kastediyorsan
T[] myArray = System.Linq.Enumerable.ToArray(hashSet);
CopyTo'yu kullanırken neden çok çalışıyorsunuz? – Vitaliy
Daha genel olduğundan (herhangi bir ICollection
, bu tür sert o sınıf yapar beri var Çerçeve 3.5 öncesinde mevcut değil.
Eğer 3.5 üzerinde iseniz, HashSet IEnumerable uyguladığı için ToArray'ı kullanın, örn.
using System.Linq;
...
HashSet<int> hs = ...
int[] entries = hs.ToArray();
Kendi HashSet sınıfınız varsa, söylemek zor.
Bu sorunun yanıtına bakın: http://stackoverflow.com/questions/687034/using-hashset-in-c-2-0-compatible-with-3-5 –
Bu cevaptan alıntı: "HashSet'i kullanabilirsiniz Şimdi bir 2.0 uygulamada
- 1. HashSet <String> String türüne dönüştürme []
- 2. HashSet
- 3. Dizide bir dizide transpoze dizisi
- 4. Delphi'de bir HashSet var mı?
- 5. PPM dosyasını okuyun ve bir dizide saklayın; C
- 6. C# .NET dosyasında bir docx dosyasını görüntüleyin.
- 7. Cs dosyasını kodlama dönüştürme
- 8. Veri Dosyasını BufferedImage'ye Dönüştürme
- 9. DJVU dosyasını PDF'ye dönüştürme
- 10. Neden HashSet <T> .IsReadOnly açık?
- 11. Bir XAML/WPF dosyasını bir videoya dönüştürme (AVI, WMV, vb.)
- 12. Birim dönüştürme kütüphanesi .Net
- 13. HashSet doluluk
- 14. HashSet performansını
- 15. Diğer HashSet
- 16. Dönüştürme <Object> Koleksiyon <String>
- 17. ArrayList <Object[]> dosyasını Object [] [] 'a Dönüştürme
- 18. 64-bit bir .NET uygulamasında bir SVG dosyasını nasıl görüntüleyebilirim?
- 19. Bir numarayı listelemeye dönüştürme <string>
- 20. PDF Dosyasını HTML'ye HTML'ye Dönüştürme #
- 21. mssql komut dosyasını mysql'ye dönüştürme
- 22. ElasticSearch'te bir dizi dizide sıralama
- 23. MATLAB- Bir Dizide Şartlar Ekleme
- 24. Bir dizide harici görüntüleri soldurma
- 25. Collectors.toSet() ve HashSet
- 26. Java'da HashSet Çakışması
- 27. Bir dizide bir dize varsa bulun (
- 28. Bir dizide (js) saklanan bir hesaplama (js)
- 29. HashSet IQueryable vs
- 30. HashSet arama karmaşıklığı?
'HashSet' yalnızca ** sürümünde kullanılabilir. Net 3.5 **. Bu şekilde, 'ToArray()' Linq uzantı yöntemini kullanabilirsiniz. –
adrianbanks
@adrianbanks: Teşekkürler. Her neyse, cevabı daha iyi cevaplamak için soruyu düzenledim. –