Vasily
Ну ебаный почешись
Hog
Эй :)
Vasily
Ну вот у себя в либе нетстандарт пытаюсь его найти
Vasily
И как-то вызвать
Vasily
НЕ ПОЛУЧАЕТСЯ
Ayrat
ок, ща чешусь!
Hog
Мож номер версии не тот?
Hog
Посмотри в какой версии нугета появился этот метод
Vasily
2.1, 4.5.4
Hog
И проверь версии
Vasily
Ну т.е. я честно пытался через руны
Ayrat
Василий прав, в этот нугет его положили только для версий неткора, где он И ТАК уже есть
Ayrat
я прям не понял
Vasily
Поэтому прошу помощи в байтоебстве
Vasily
НЕКОТОРОМ
Vasily
Та версия, что в гисте - рабочая, но будет аллоцировать как не в себя
Mikhαil
Крылатый
Ну всё, «Дом-2» закрывается. Как теперь жить?
Hog
А чоб дотпиком не посмотреть в нугет и попробовать такое же?
Hog
Ну, в котором уже есть то, что надо?
Ayrat
Ну, в котором уже есть то, что надо?
ну можно и не дотпиком
https://github.com/dotnet/runtime/blob/1d9e50cb4735df46d3de0cee5791e97295eaf588/src/libraries/System.Private.CoreLib/src/System/MemoryExtensions.Globalization.cs#L362-L371
Ayrat
но просто интересно какого хуя это в нугет не положили который и так паблишат
Hog
Спроси там у своих. Во внутреннем СО
Hog
Чо гадать
Ayrat
первую убрать можно достаточно просто ручным парсером
вторую убрать не получится не убрав активный патерн
Ayrat
что делает код в душе ниибу, но аллокация тут вроде одна (не считая активного патерна в целом)
Igor
let symbols = text.Split - ну это одна строка, но аллокаций там больше, это же массив стрингов
Ayrat
ну и чо
Ayrat
я имел в виду что это единственная строка с аллокациями
Ayrat
ее починить изи
Ayrat
ну типа бежим по строке циклом (обычным, не форыч) запоминая индекс, если находим плохой чар, который ломает строку, отдаем спан от предыдущего хорошего индекса до текущего, пиздуем дальше
Ayrat
можно сделать стракт енумератор который будет это делать за нас
Ayrat
на выходе будут получаться спаны на участки строки которые являются ее кусками, разрезанными плохим чаром
Ayrat
0 аллокаций
Ayrat
Vasily
Ну короче там портал в ад открывается
Vasily
Если глубже копать
Hog
Не совсем понятно зачем для такого ф#
Anatoly
let testHttp (url: string) (auth: string option) =
task {
use req = new HttpRequestMessage(HttpMethod.Get, url)
match auth with
| None -> ()
| Some x -> req.Headers.Authorization <- Headers.AuthenticationHeaderValue.Parse(x)
return! httpCheck req
}
Anatoly
прикольно, null - это, оказывается, Some
Igor
None
Anatoly
ну, нет
Anatoly
у меня пруф есть
Anatoly
Donnie
Null != None
Anatoly
Nikolay
box None = null
Anatoly
ну все эти опшны тогда бесполезны
Nikolay
let o: obj option = Some null
o |> Option.iter (fun x -> x.ToString())
Nikolay
Бабах
Roman
Roman
Но говорить, что опшны бесполезны - это конечно юношеский максимализм
Roman
Vlæd
Если нулл класть в Some, потом доставать его оттуда и вызывать на нем метод - какое-то другое поведение кроме nre ожидается? Я на полном серьезе интересуюсь.
gsomix
Vlæd
И да и нет
Vlæd
Я все ещё работаю над парой тасков
Nikolay
Vlæd
Но поскольку половина всего дотнета в отпусках - работаю вяло крайне :)
Vlæd
Но я понимаю, когда тебе говорят - использую опшн и забудь про нре, а у тебя нре взрывается. Чувствуешь себя обманутым :)
Vasily
Option.ofObj сжигает такое
Nikolay
Nikolay
Nikolay
А почему опшнами не обмазать?
Vlæd
Потому что в сишарпе нету опшнов
Nikolay
Ayrat
Nikolay
Option, ValueOption, Nullable, еще одного нам не хватает
Vlæd
Nikolay
Отличный повод напиться
Nikolay
Ayrat
а чо бы нет