Czy istnieje limit elementów, które można zapisać na liście? lub możesz po prostu zachować elementy uzupełniające do momentu wyczerpania pamięci?Czy istnieje limit elementów, które można zapisać na liście?
7
A
Odpowiedz
20
Obecna implementacja List<T>
wykorzystuje Int32
wszędzie - skonstruować swoją tablicę podłożu, na jego Count
nieruchomości, jako indekser i dla wszystkich jego operacji wewnętrznych - nie ma więc prąd teoretyczny maksymalnie Int32.MaxValue
pozycji (2^31-1
lub 2147483647
).
Ale struktura .NET ma także maksymalny rozmiar obiektu wynoszący 2 GB, dzięki czemu można uzyskać tylko w pobliżu limitu elementów z listami pozycji jednobajtowych, takich jak List<byte>
lub List<bool>
.
W praktyce prawdopodobnie skończy Ci się pamięć ciągła, zanim osiągniesz jeden z tych limitów.
Powiązane problemy
- 1. Czy istnieje limit System.IO.FileShare?
- 2. Sprawdź, czy klucz istnieje na liście Pythona
- 3. Czy istnieje kodowanie, które można wymówić?
- 4. Pomijanie elementów na liście Python
- 5. Czy istnieje limit pracowników Firefoksa?
- 6. Czy można plunker zapisać na github?
- 7. Czy ktoś zna sposób na wyłuskanie elementów na liście?
- 8. Zamiana elementów na liście Common Lisp
- 9. Czy istnieje sposób na rozszerzenie koloru tła elementów nieuporządkowanych na liście, aby znaleźć się za kulami?
- 10. Jak sprawdzić, czy n-ty element istnieje na liście Pythona?
- 11. Czy istnieje limit określający, ile razy można wywołać funkcję navigator.geolocation.getCurrentPostion?
- 12. Przełączanie dwóch elementów na liście połączonej
- 13. Python struct.pack() dla poszczególnych elementów na liście?
- 14. Budowanie słownika liczby elementów na liście
- 15. Czy istnieje limit liczby otwartych kanałów na sesję w JSch?
- 16. LINQ, aby sprawdzić, czy identyfikator istnieje na liście
- 17. Sprawdź, czy elementem w pozycji [x] istnieje na liście
- 18. SharePoint: Sprawdź, czy element istnieje na liście, minimalny narzut
- 19. Suma elementów na liście w Prologu
- 20. Indeks Znalezienie tych samych elementów na liście
- 21. Orika bez odwzorowywania elementów null na liście
- 22. Czy istnieje limit rozmiaru tablicy w ruby?
- 23. Czy istnieje limit rekursji w seplenienie?
- 24. Czy istnieje limit rozmiaru plików wsadowych?
- 25. React Native pozwala na zmianę kolejności elementów na liście przewijania
- 26. Jak mogę zezwolić użytkownikowi na ponowne sortowanie elementów na liście?
- 27. Czy istnieje limit długości klucza dla localStorage?
- 28. Czy istnieje praktyczny limit długości nagłówka HTTP?
- 29. XSLT: Sprawdź, czy wartość istnieje w liście
- 30. Czy istnieje lepszy sposób użycia strip() na liście ciągów? - pyton
* Teoretycznie * oznacza, że można tylko losowo uzyskiwać dostęp do elementów o wartości "Int32.MaxValue", a nie jak wiele elementów może być, * teoretycznie *, oczywiście. –
@Martinho: Obecna implementacja używa 'Int32' * wszędzie *, więc nie jest to zwykły dostęp ograniczony do 2^31 elementów. (Oczywiście używanie "Int32" wewnętrznie jest tylko szczegółem implementacji, ale właściwości takie jak indeksator i 'Count' są częścią zamówienia publicznego.) – LukeH