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

Почему в конце выводится true ?

26 ответов

24 просмотра

Интернирование. Одинаковые строковые литералы занимают место в памяти только один раз

Интернирование же

Hesu- Автор вопроса
SomebodyOdd
Интернирование. Одинаковые строковые литералы зани...

тогда почему во втором сравнении у меня false ?

Hesu
тогда почему во втором сравнении у меня false ?

Потому что s1 - не литерал и создаётся методом Format

SomebodyOdd
А почему не должно?

Мне казалось там начиная с какой то длины это включается

Andrew Shurunov
Мне казалось там начиная с какой то длины это вклю...

Ты явно можешь через string.Intern закинуть туда

Andrew Shurunov
Мне казалось там начиная с какой то длины это вклю...

Нет. А зачем выключать? Кеш процессора не резиновый =)

Rustam
Оно же вроде не для всего

А где я написал, что для всего? Я написал про строковые литералы

Rustam
Оно же вроде не для всего

Почему для всего? Только строки

SomebodyOdd
Нет. А зачем выключать? Кеш процессора не резиновы...

Ну ладно, видимо я не прав Может путаю с js

Andrew Shurunov
Ну ладно, видимо я не прав Может путаю с js

В JS там жопка, ибо есть string, а есть String, и нет - это не то же самое, и ведут они себя по разному =)

SomebodyOdd
В JS там жопка, ибо есть string, а есть String, и ...

Просто там тоже есть оптимизации и вроде они то ли от 4, то ли от 6 символов начинаются в строке

Andrew Shurunov
Просто там тоже есть оптимизации и вроде они то ли...

Ну это уже выкрутасы движка, которые, так то, видны в коде не должны быть. А в дотнете видны. Ну, ок. У нас мутабельных строк никогда (в стандартной либе) не было, так что какая разница?

Надо короче так на это дело смотреть

Hesu- Автор вопроса
Rustam
Надо короче так на это дело смотреть

Если GetHashCode() возвраще тот же хеш то почему в одном месте true в другом нет

Hesu
Если GetHashCode() возвраще тот же хеш то почему в...

https://sharplab.io/#v2:EYLgxg9gTgpgtADwGwBYA0AXEUCuA7AHwAEAmABgFgAoUgRmuoDcBDKAAilrYF42jayAOgDCEPGGYYAFACJmwMDLRsZAExgAzGQEoA3E1YcSPFfMVsA1CvVb9VFuygBmE3IU2Zd6vwCcU/xDAAFYwYBjanNqCAKIAjjjMADYAzgHBoeFQJNp63rR+aSFhEbTaPLxSgUWZ2bpAA==

Hesu- Автор вопроса

твой ласт и перед ним связан с интернированием отсюда и true

Mikhail Lomonosov
твой ласт и перед ним связан с интернированием отс...

Неа, там компайл там выведение результата

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

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

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
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
Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
Карта сайта