@CSharpChatЭта группа больше не существует

Страница 1304 из 1888
Friedrich
23.06.2017
10:40:21
О, локальные функции в C# 7. Чо, теперь можно запилить вычисление факториала хвостовой рекурсией?
Хвостовая рекурсия поддерживается так же паршиво, как раньше. Ничего не поменялось.

Ilya
23.06.2017
10:40:33
я не знаю про инлайн методы

Friedrich
23.06.2017
10:40:37
он объявляется и в том же месте и сразу вызывается
Да, я вижу, почему ты говоришь, что здесь не нужен локальный метод

Ilya
23.06.2017
10:40:39
знаю только что они быстро работают

Google
Friedrich
23.06.2017
10:40:40
Но это неверно.

Если ты заинлайнишь там локальный метод, то сломаешь контракт!

Если никто не знает, то щас расскажу :)

Sergey
23.06.2017
10:41:18
расскажи, может мы знаем но не понимаем этого )

или не знаем )

Friedrich
23.06.2017
10:41:36
Соль вот в этом коде: https://github.com/morelinq/MoreLINQ/blob/85f821edc83519217315c22199ba27f5c063039a/MoreLinq/DistinctBy.cs#L68-L69

Gid
23.06.2017
10:41:57
MORE LINQ

Friedrich
23.06.2017
10:41:59
В обычном методе с yield return проверки бы выполнились только при начале перечисления итератора.

Denger76
23.06.2017
10:42:05


Friedrich
23.06.2017
10:42:26
А вот в этом коде (и в методе до рефакторинга) проверки всегда выполнялись сразу, а после возвращался итератор.

Sergey
23.06.2017
10:42:52
иии в чем разница?

Friedrich
23.06.2017
10:42:54
То есть ArgumentNullException отсюда должен вылететь, даже если итератор никто не обходит

Sergey
23.06.2017
10:42:56
я не понимаю )

Google
Ilya
23.06.2017
10:43:26
а блэт

понял

Sergey
23.06.2017
10:44:08
а можно вызвать DistinctBy без начала перечисления?

Friedrich
23.06.2017
10:44:41
Старый код: var iterator = Enumerable.Empty<int>().DistinctBy(null, null) — падает Если б DistinctBy был реализован на yield return, то этот код бы не упал, а упал бы только после var iterator = Enumerable.Empty<int>().DistinctBy(null, null); var list = iterator.ToList(); // ArgumentNullException!

Sergey
23.06.2017
10:45:05
аааа

Ilya
23.06.2017
10:45:30
так ладно, допустим убедил

но чем предыдущая релизация лучше была

зочем локальный метод

Friedrich
23.06.2017
10:45:58
Предыдущая реализация не была "лучше", в ней был отдельный глобальный метод.

С точки зрения быстродействия она, кажется, ничем не отличалась — если, конечно, JIT не применяет к локальным методам каких-то хитрых оптимизаций, про которые я не знаю.

Ilya
23.06.2017
10:47:18
всё не просто с айэнумербл

Gid
23.06.2017
10:47:24
Ребзя, подскажите

Кто как бы реализовал дессериализацию поля которое может быть или стринг или аррей

(спасибо хорошему апи за это)

или хотяб как это гуглить

Friedrich
23.06.2017
10:48:10
Охохо...

Victor
23.06.2017
10:48:13
я нуб но могу попробовать

Летучая
23.06.2017
10:48:17
JsonConverter кастомный можно бахнуть

Gid
23.06.2017
10:48:28
Google
Летучая
23.06.2017
10:48:35
я так эксепшны глотаю, когда вк вместо списка присылает false

Victor
23.06.2017
10:48:39
ловить как обжект а там по эксепшену если одна обламывается то в другую идти))

Gid
23.06.2017
10:48:41
мне б для ангуляра конечно, но даже способ для шарпа пойдёт

буду знать от чего отталкиваться

я думал сделать это поле dynamic

а потом скачать либу isArray))00

Олег
23.06.2017
10:49:08
А чо, нет у ваших json либ методы типа isArray()?

У нас в Java есть, кек

Gid
23.06.2017
10:49:22
тупо рав жсон

на шарпе есть инфа 100%

Летучая
23.06.2017
10:49:51
Json.NET юзаешь?

Ilya
23.06.2017
10:49:57
dynamic

Олег
23.06.2017
10:49:59
Ну Json.net, наверное, умеет

Gid
23.06.2017
10:50:00
та мне на фронте отловить

над

)

Летучая
23.06.2017
10:50:12
А на фронте в чём проблема

Gid
23.06.2017
10:50:26
в том что я хз как это сделать, не сталкивался ни разу

даже не знаю как гуглить

Google
Летучая
23.06.2017
10:50:42
https://stackoverflow.com/questions/951483/how-to-check-if-a-json-response-element-is-an-array

Летучая
23.06.2017
10:51:05
Фридрих же тимлид сениор софтваре аркитект

Friedrich
23.06.2017
10:51:11
ты небось и Рихтера всего знаешь да? )
Наизусть не знаю, конечно же. Но Рихтера я читал.

Sergey
23.06.2017
10:52:03
Я уже несколько раз пытался его прочитать, тяжко (

страниц наверное 400 осилил, в голове правда мало что остается

Летучая
23.06.2017
10:52:38
Прикольно
И вот весь чистый жс это такая наркомания

Gid
23.06.2017
10:52:50
У тебя приходит респонс с массивом

в нём элемент внутри называется одинаково

но может быть или стринг или аррей

Sergey
23.06.2017
10:53:33
надо в очередной раз за рихтера взяться

Олег
23.06.2017
10:57:33
И вот весь чистый жс это такая наркомания
function isNumber(maybeNumber) { let originLength = maybeNumber.toString.length; return (maybeNumber + 0).toString.length === originLength; } kek

но может быть или стринг или аррей
Ну вытащи это поле и таким же макаром попробуй вытащить название его типа и сравнить с названием типа массива, как выше

Friedrich
23.06.2017
11:00:31
надо в очередной раз за рихтера взяться
Кстати, когда я первый раз его читал, он мне показался невыносимо скучным, и я дропнул на второй главе. Перечитывал уже после того, как немножко прокачался в C# — и показалось нормально, осилил всего за несколько дней.

Я вообще не знал, что у toString можно получить length %) Это что вообще?

А, это количество аргументов. Хитро!

Shaman
23.06.2017
11:04:34
А, это количество аргументов. Хитро!
Может все таки длина строки?

Google
Friedrich
23.06.2017
11:04:48
Может все таки длина строки?
Написано чотко: toString.length

Это количество аргументов функции toString, и по смыслу имеется в виду именно это.

Олег
23.06.2017
11:05:03
Friedrich
23.06.2017
11:05:27
Это работает
До тех пор, пока тебе не поменяют определение toString :)

Nikolay
23.06.2017
11:06:19
Всем привет. Вопрос по wpf+xaml: как настроить data binding, чтобы при изменении свойства в view model, изменялось прикрепленное свойство элемента во view? Обратно работает
Продолжение вопроса. Есть 2 свойства во viewmodel типов string и bool, к которым прикреплены 2 элемента из view - Textbox и Checkbox. Так вот, при изменении обоих свойств во viewmodel, во view меняется только Textbox. Ткните носом куда глядеть? INotifyPropertyChanged реализован (viewmodel от него наследуется)

Vlod
23.06.2017
11:07:48
Людя, подскажите, можно ли узнать, сколько методов в делегате находится?

Friedrich
23.06.2017
11:08:01
Охохо, какие сегодня прекрасные вопросы!

Vlod
23.06.2017
11:08:08
)

Friedrich
23.06.2017
11:08:09
Шта?
Вопрос корректный, не обижайте его.

На ум сходу приходит только рефлекшен.

Igor
23.06.2017
11:09:18
Людя, подскажите, можно ли узнать, сколько методов в делегате находится?
https://msdn.microsoft.com/ru-ru/library/system.delegate.getinvocationlist(v=vs.110).aspx

Vlod
23.06.2017
11:09:27
я создал делегат, чтобы он опосвещал объекты, когда должен сработать метод, когда объекты удаляются, я минусую метод из делегата

Страница 1304 из 1888

Эта группа больше не существует Эта группа больше не существует