русский

C# - pattern matching - many discards

7774   6 7 8 9 10 11 12 13 14 15 16 alle
Murr патриот08.03.24 14:20
Murr
NEW 08.03.24 14:20 
in Antwort AlexNek 07.03.24 22:06

как убрать эту галку

----------------

В своем профиле поправь.

alex445 коренной житель08.03.24 16:43
NEW 08.03.24 16:43 
in Antwort AlexNek 07.03.24 18:10, Zuletzt geändert 08.03.24 16:48 (alex445)
Не имею понятия, для себя не пользую, вот нашел какой то примерчик. Покажите плиз...

А DbSet и IEnumerable со своими расширениями это что? Без LINQ этот EF - малополезная хрень.

alex445 коренной житель08.03.24 16:45
NEW 08.03.24 16:45 
in Antwort AlexNek 07.03.24 19:43

Вот рекомендации например:

https://learn.microsoft.com/en-us/aspnet/core/data/ef-mvc/...

Никаких извращений

Там делегаты в первом же примере.

Бесконечный цикл постоялец08.03.24 19:07
NEW 08.03.24 19:07 
in Antwort Murr 08.03.24 14:18
еще

- изменить день недели

- изменить изменить порядковый номер дня в году

- изменить изменить порядковый номер недели в году

Самое смешное что это реальные требования потребителей.

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




AlexNek патриот08.03.24 19:18
AlexNek
NEW 08.03.24 19:18 
in Antwort alex445 08.03.24 16:43
А DbSet

https://github.com/mono/entityframework/blob/master/src/En...

Можно копию кода о чём речь?

AlexNek патриот08.03.24 19:20
AlexNek
NEW 08.03.24 19:20 
in Antwort Murr 08.03.24 14:20
В своем профиле поправь.

Блин, самому себе письмо отправить без галки зло

AlexNek патриот08.03.24 19:24
AlexNek
NEW 08.03.24 19:24 
in Antwort alex445 08.03.24 16:45
Там делегаты в первом же примере.

А разве речь о делегатах? Речь об извращениях.

AlexNek патриот08.03.24 19:46
AlexNek
NEW 08.03.24 19:46 
in Antwort alex445 08.03.24 16:43

https://github.com/dotnet/runtime/blob/main/src/libraries/...

Так это имелось в виду?

        public static TSource First<TSource>(this IEnumerable<TSource> source, Func<TSource, bool> predicate)
        {
            TSource? first = source.TryGetFirst(predicate, out bool found);
            if (!found)
            {
                ThrowHelper.ThrowNoMatchException();
            }

            return first!;
        }
Срыв покровов патриот08.03.24 19:51
NEW 08.03.24 19:51 
in Antwort MrSanders 08.03.24 09:19
фу. Плюнуть в спину, когда ничего возразить не можешь.

Чему тут возражать? Было дано задание, в ответ только мычание, что за такое у нас лицо бьют.

Срыв покровов патриот08.03.24 19:53
NEW 08.03.24 19:53 
in Antwort Murr 08.03.24 14:18
Самое смешное что это реальные требования потребителей.

Это требование современности - решать задачи актуальными инструментами.

alex445 коренной житель09.03.24 03:11
NEW 09.03.24 03:11 
in Antwort MrSanders 07.03.24 09:19
12 год - да наф нам не нужон этот ваш делегат.

На всякий случай, Ололёшеньке всё равно, он у нас дурачок, по-англицки читать это не его, но вдруг кого удивило.

Во-первых, статья 1997-8 года. Не позднее. Java 1.2 не упоминается. Ну, ашипся ололёшенька. Бывает. (Статья про J++. Кто такое мелкомягкое уродство помнит?)

Во-вторых, суть статьи "нафиг усложнять VM ссылками на методы, если есть внутренние классы".

Ну и, в-третьих, ...

14 год - Джава 8 представляет лямбды и ссылки на методы.

"Ссылка на метод" в 8-й Яве это не "delegate". Это синтаксический сахар. Который компилятором преобразуется... во внутренний класс. Как и лямбда.

Да понятно, что из подручного мусора и костылей можно слепить что угодно, хоть небоскрёб. Мутить классы, чтобы из них использовать лишь методы, вместо того, чтобы сразу использовать лишь методы - гениальный же дизайн!


alex445 коренной житель09.03.24 03:19
NEW 09.03.24 03:19 
in Antwort AlexNek 08.03.24 19:18
А DbSet

https://github.com/mono/entityframework/blob/master/src/En...

Можно копию кода о чём речь?

Речь об этом, на чём у вас все модели соединяются в удобоваримый контекст, а не остаются кучкой бесполезных классов.

alex445 коренной житель09.03.24 03:21
NEW 09.03.24 03:21 
in Antwort AlexNek 08.03.24 19:24, Zuletzt geändert 09.03.24 03:22 (alex445)
Там делегаты в первом же примере.
А разве речь о делегатах? Речь об извращениях.

Извращения это имитация ссылок на методы внутренними классами, и пятнадцать лет говорить, что нам не нужны делегаты, а потом делать их через извращения. Потому что ну уже у всех есть, включая главного конкурента.

AlexNek патриот09.03.24 10:46
AlexNek
NEW 09.03.24 10:46 
in Antwort alex445 09.03.24 03:19
Речь об этом,

и где там, в какой строке?

Хотя вроде стало понятно, что фактические параметры функции называют "делегатом"


var entities = ChangeTracker.Entries().Where(x => (x.Entity is Entity)....

AlexNek патриот09.03.24 10:50
AlexNek
NEW 09.03.24 10:50 
in Antwort alex445 09.03.24 03:21
Потому что ну уже у всех есть,

Ну нужно путать что-то с пальцем спок

Практически любую вещь можно использовать правильно и неправильно.

MrSanders коренной житель09.03.24 18:20
NEW 09.03.24 18:20 
in Antwort alex445 09.03.24 03:21, Zuletzt geändert 09.03.24 18:33 (MrSanders)
Извращения это имитация ссылок на методы внутренними классами, и пятнадцать лет говорить, что нам не нужны делегаты, а потом делать их через извращения. Потому что ну уже у всех есть, включая главного конкурента.

Кроме тебя никто не говорил что в яве есть делегаты. Их в яве нет. В яве есть "ссылки на методы". Так до тебя дойдёт?

А хочешь кукарекать - сначала покажи мне в шарпе (главный конкурент, афигеть, а пацаны-то и не знают) замыкание по значению, а не по ссылке. Потом подумаешь, стоит ли перенимать, не понимая, принципы из других парадигм программирования. Потом разрешу тебе кукарекать.

вместо того, чтобы сразу использовать лишь методы - гениальный же дизайн!

Для объектно-ориентированного языка? Да. Ты про SmallTalk слышал? Там не то что на методы ссылаться, там код на лету менять можно. Почитай, ощути какое отсталое кю твой шарп. А потом опять немного подумай - а почему же мы все не пишем сейчас на таком прекрасном языке.

P.S. а как интересно "ссылки на методы" реализованы в Tcl... Если мелкомягкие шарписты его для себя когда-нибудь откроют, тоже начнут как не в себя тырить, не понимая что и зачем? :)

Бесконечный цикл постоялец09.03.24 19:25
NEW 09.03.24 19:25 
in Antwort alex445 09.03.24 03:21

1. C# уже сильно позже Явы сделали, а потому С# во многих местах сильно лучше, поскольку по граблям уже не ходили, а все просто стырили. Ну скажем у массивов в Яве макс. размер 32 бита (2ГБ), а в C# 64 бита.


2. Надо различать язык и VM. Если в JVM чего-то нет, то значит нет, и в языке надо извращаться. В C# много чего встроили, а потому и в языке легче. Например генерики (классы с параметрами). В JVM их нет. Ну или делегаты.


3. Есть еще идеология. Многие полезные вещи считаются богохульством в ООП-религии. Ява хотела быть святее папы, а в C# все по барабану, лишь бы бабло польза была.

Срыв покровов патриот09.03.24 20:09
09.03.24 20:09 
in Antwort MrSanders 09.03.24 18:20
Кроме тебя никто не говорил что в яве есть делегаты. Их в яве нет. В яве есть "ссылки на методы". Так до тебя дойдёт?

сорри за возможно глупый вопрос: но вот это разве не делегаты?

// Function which takes in a number

// and returns half of it

Function<Integer, Double> half = a -> a / 2.0;

// Applying the function to get the result

System.out.println(half.apply(10));

AlexNek патриот09.03.24 21:41
AlexNek
NEW 09.03.24 21:41 
in Antwort Срыв покровов 09.03.24 20:09
вот это разве не делегаты?

Может быть мы вначале начнём с определения делегатов?

https://learn.microsoft.com/en-us/dotnet/csharp/programmin...


https://www.c-sharpcorner.com/article/send-method-as-param...

Murr патриот09.03.24 21:59
Murr
NEW 09.03.24 21:59 
in Antwort Срыв покровов 09.03.24 20:09

это разве не делегаты?

------

Считай что делегат это декларация типа указателя на функцию с типизацией возврата и параметров.

6 7 8 9 10 11 12 13 14 15 16 alle