169 похожих чатов

Ребята, я новичек в c# хотел бы узнать, почему в

c# нельзя добавить или удалить элементы с массива? Я почитал что нельзя, но почему именно так реализовали. Кто то в курсе?

17 ответов

15 просмотров

потому что размер массива ты цказываешь при создании.

Алекс- Автор вопроса
Dmitry
потому что размер массива ты цказываешь при создан...

Я понял что размер фиксированный. Но в чем преимущество данной реализации? Так меньше памяти жрет?

Алекс
Я понял что размер фиксированный. Но в чем преимущ...

насправді на це як на мене немає короткої повної відповіді тому що річ не скільки про arrays в шарпі а про них загалом в програмуванні, не зміг знайти гарного саммарі в гуглі тому наведу кілька причин та може інші теж доєднаються: Fixed length в першу чергу це рішення історично зумовлене тим як масиви були зроблені в java, c++, тим як вони розташовані в пам'яті та тим що fixed length це безпечніше з точки зору дизайну імплементації примітиву навколо якого побудовані інші структури даних в тій чи іншій мові програмування.

Arseniy
чому?)

бо читати байтики що йдуть підряд швидше, ніж розкидані по пам'яті )

Алекс
Я понял что размер фиксированный. Но в чем преимущ...

исторически так сложилось. когда памяти было мало, а работать с ней надо было

Алекс- Автор вопроса
Alex
бо читати байтики що йдуть підряд швидше, ніж розк...

Можєш пояснити, за рахунок чтого швидкість збільшуеться? Як на мене немає різниці послідовно байти читати, чи рандомно. Швидкість доступу до RAM константна.

Maksym Anurin
Можєш пояснити, за рахунок чтого швидкість збільшу...

сейчас может и да. а раньше. раньше дефрагментаторы диска были, которые упорядочивали размещение файлов для более быстрого доступа к ним )

Maksym Anurin
Можєш пояснити, за рахунок чтого швидкість збільшу...

у тому, що ти можеш константно зчитати наприклад 2мб пам'яті що йде підряд. Якщо в тебе вони розкидані потрібно буде читати Н раз

Maksym Anurin
Можєш пояснити, за рахунок чтого швидкість збільшу...

там твердження хибне тому що імплементація array під собою by definition означає лінійну структуру даних

Maksym Anurin
Можєш пояснити, за рахунок чтого швидкість збільшу...

так є оверхед шоб визначати з якої адреси читати наступну інфу

Maksym Anurin
При чому тут диск, масив завжди в RAM

я как пример привёл ) Арсений ниже более чётко написал - загрузка в кеш, упреждающее чтение или как там было

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
Ребят в СИ можно реализовать ООП?
Николай
33
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта