Size: a a a

Сообщество разработчиков на Universal Windows Platform

2020 August 23

ДА

Дмитрий Адодин... in Сообщество разработчиков на Universal Windows Platform
Интересно, а варианты "неаллоцирующего" linq как поступают
источник

MC

Max Cat in Сообщество разработчиков на Universal Windows Platform
Дмитрий Адодин
Потому что их мало?
Но ведь все равно быстрее сравнить на равенство два int, чем сравнивать на равенство каждый символ строки
источник

ДА

Дмитрий Адодин... in Сообщество разработчиков на Universal Windows Platform
Max Cat
Но ведь все равно быстрее сравнить на равенство два int, чем сравнивать на равенство каждый символ строки
Зависит от того, как ты эти два инта из строки получаешь
источник

MC

Max Cat in Сообщество разработчиков на Universal Windows Platform
Дмитрий Адодин
Зависит от того, как ты эти два инта из строки получаешь
Так инты (хеш) считаются только 1 раз. Набор ключевых слов ж не меняется вовремя выполнения
источник

ДА

Дмитрий Адодин... in Сообщество разработчиков на Universal Windows Platform
Ну а код не константный, по нему всё равно итерироваться надо
источник

ДА

Дмитрий Адодин... in Сообщество разработчиков на Universal Windows Platform
А итерироваться по одной строке или по 5 это уже не важно
источник

MC

Max Cat in Сообщество разработчиков на Universal Windows Platform
Дмитрий Адодин
А итерироваться по одной строке или по 5 это уже не важно
HashSet<string> по сути int[]
И с ним мы делаем один проход этого int[]

String[] это по сути char[][]
И тут мы делаем проход char[][] и каждого сhar[]
источник

ДА

Дмитрий Адодин... in Сообщество разработчиков на Universal Windows Platform
Нет
источник

ДА

Дмитрий Адодин... in Сообщество разработчиков на Universal Windows Platform
Тут можно же несколькими итераторами проходить
источник

ДА

Дмитрий Адодин... in Сообщество разработчиков на Universal Windows Platform
Точнее наоборот, одни итератором все строки
источник

ДА

Дмитрий Адодин... in Сообщество разработчиков на Universal Windows Platform
Сначала сравниваем первые символы, отбрасываем несовпадающие, потом вторые и т.д.
источник

ДА

Дмитрий Адодин... in Сообщество разработчиков на Universal Windows Platform
Плюс строки сравнивать всё равно придется
источник

ДА

Дмитрий Адодин... in Сообщество разработчиков на Universal Windows Platform
Тебе же надо точное совпадение, а не с точностью до коллизии
источник

MC

Max Cat in Сообщество разработчиков на Universal Windows Platform
Дмитрий Адодин
Сначала сравниваем первые символы, отбрасываем несовпадающие, потом вторые и т.д.
А куда мы записываем результат того, что отбросили несовпадающие?
источник

MC

Max Cat in Сообщество разработчиков на Universal Windows Platform
Дмитрий Адодин
Тебе же надо точное совпадение, а не с точностью до коллизии
Совпадение символов по региональному стандарту меня не волнует. Только полная идентичность строк интересна
источник

ДА

Дмитрий Адодин... in Сообщество разработчиков на Universal Windows Platform
Именно
источник

ДА

Дмитрий Адодин... in Сообщество разработчиков на Universal Windows Platform
Сравнение хешей строк тебе не даст полной идентичности
источник

MC

Max Cat in Сообщество разработчиков на Universal Windows Platform
Т.е у строк хеш считается с учётом региональных стандартов?
источник

MC

Max Cat in Сообщество разработчиков на Universal Windows Platform
Но в ключевых словах ж нет каких-то коварных символов
источник

K

Katz in Сообщество разработчиков на Universal Windows Platform
Пользуясь случаем лишний раз напомню, что хэш строк в дотнете не детермерирован и будет другим после перезапуска приложения.
источник