Bence sıralanmış bir nesne koleksiyonum var (SortedList ya da SortedDictionary olabilir, bunu okumak için kullanacağım, bu yüzden performans eklemek o kadar önemli değil). I-inci değerini nasıl alabilirim? Örneğin, örn. koleksiyonda 1, 2, 3, 4, 5 rakamları olduğunda ve ortanca (bu örnekte 3) istediğim zaman, nasıl yapabilirim?Bir SortedList ya da SortedDist öğesinden i-th değeri alma
cevap
böyle bir şey deneyin:
list.Values [list.Count/2];
Gerçek bir medyanın, Kont eşitse ortadaki iki sayıyı ortalayacağını unutmayın.
Bir sıralı liste için
list.Values[index]
gibi kodu kullanabilirsiniz.
dict.ElementAt(index)
Bununla birlikte, bu liste halinde daha yavaştır: bir SortedDictonary ile
en kolay yolu ElementAt() yöntemini kullanmak olacaktır. Her iki durumda da sayımı kontrol etmeniz gerekir. Tuhaf ise, indeksi = (list.length-1)/2) alın. Hatta, index1 = list.length/2 AND index2 = list.length/2 - 1 değerini al ve değerleri ortalama.
SortedDictionary'da bir öğeye göre bir öğe almanız gerekiyorsa, performans zahmetli olur. SortedDictionary ile giriş olarak yeni bir SortedList oluşturun ve SortedList'e erişin. Birçok kez daha hızlı çalışır.
aşağıdaki sözdizimini kullanarak belirli bir pozisyonda değerini çıkarabilir:
sortedDictionaryName.ElementAt(index);
istediğiniz bir dizinde bir elementin anahtar veya değer ayıklamak isterseniz:
sortedDictionaryName.ElementAt(index).Key //For only Key
sortedDictionaryName.ElementAt(index).Value //For only Value
- 1. NSArray öğesinden dize değeri alma
- 2. C++ 'da haritadan ilk değeri alma
- 3. ANativeWindow_Buffer öğesinden ANativeWindowBuffer alma
- 4. NSUserDefaults öğesinden int alma
- 5. Ya Da Gerekli Doğrulama
- 6. chrome.tabs.executeScript öğesinden dönüş değeri
- 7. Dizinleri belirterek bir ArrayList öğesinden alıcıları alma
- 8. sd kartında ya da
- 9. MySQL "Ya da" Koşul
- 10. ya da değil
- 11. Bir methodInfo.invoke dönüş değeri alma
- 12. gooroutinin bir önceliği olsun ya da olmasın?
- 13. UIPOPOVER? ya da sahte mi?
- 14. RetainSameConnection - kullanın ya da değil?
- 15. Bir görüntüyü Ruby ya da imagemagick ile entropi edin ya da hesaplayın
- 16. Casbah Scala MongoDB sürücüsü - bir DBObject öğesinden veri alma
- 17. Scala Macro Annotation öğesinden parametre alma
- 18. Null ya da boş bir dizenin bir özelliğin varsayılan değeri olarak enjeksiyonu
- 19. XT pencere tanıtıcısını GtkWidget öğesinden alma
- 20. Vector 'da Güncelleştirme Değeri
- 21. Polimer domrepeat, değeri alma
- 22. param eksik ya da değer boş
- 23. Gitlab: kullanıcı ya da anahtar sunulmadı
- 24. Öğenin değeri OnItemClick Listview öğesinden alın
- 25. Link'in ne zaman etkinleştirildiğini algıla - ya da tıkla ya da sekme ile girin ve
- 26. Bir giriş etiketinden javascript değeri alma
- 27. xml öğesinde bir özellik değeri alma
- 28. Ruby 2.1 ya da Ruby 2.0 ya da 1.9 ile uyumlu bellek kullanımı
- 29. HATA Dosya ya da derleme 'AjaxControlToolkit' ya da bağımlılıklarından biri yüklenemedi
- 30. Python: ith öğesiyle birlikte x'in yerini değiştirin.
Cheers, bu çalışma Sadece SortedList için. SortedDictionary için bunu yapmanın bir yolu var mı? – Grzenio