1. C# / Говнокод #17509

    +94

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    combinations.AddRange(combinations4);
                combinations.AddRange(from combination5 in combinations5
                                      where
                                          (from combination4 in combinations4
                                           where
                                               (from c4class in combination4.Classes
                                                where !combination5.Classes.Contains(c4class)
                                                select c4class).Count() == 0
                                           select combination4).Count() == 0
                                      select combination5);

    Теперь у меня есть ачивка "сделать через LINQ не смотря ни на что".
    Тому, кто поймёт, что же здесь происходит - достанется воображаемый пряник.

    Запостил: krypt, 24 Января 2015

    Комментарии (9) RSS

    • Количество отрицаний выносит моск...

      Но как-то так, вроде бы: добавить элементы c5 из combinations5 для которых не существует такого c4 из combinations4, что все c4.classes есть в c5.classes. Что это делает - хер знает :)
      Ответить
      • Примерно так и есть )
        Только combinations4 - это комбинации из 4ти элементов, а combinations5 - комбинации из 5х элементов.
        Соответственно в процессе выяснилось, что в combinations5 болтаются все combinations4 в составе "4 оригинальных + 1 случайный".

        А всё вместе - это фильтрация результатов поиска всех оптимальных команд для Zanzarah ^^
        Ответить
    • Великий комбинатор!
      Ответить
    • >сделать через LINQ не смотря ни на что
      Жизненно... И ведь делаю, в каждый раз бросаю вызов себе, даже если собираюсь рефакторить потом.
      Ответить
      • Да-да, особенно если уже написана версия с foreach :)
        > не смотря ни на что
        В том числе и здравый смысл :)
        Ответить
    • https://2ch.hk/ra/src/111817/14132050633880.jpg
      Ответить
    • К этому пиздецу нужно добавить еще одну комбинацию

      http://www.youtube.com/watch?v=LwECnInKy9w

      А если серьезно - linq лучше в точечной нотации
      Ответить
    • норм код, есть и похуже, можно было конечно результат линка в отдельную переменную, читабельнее было, да я в отладчике виден результат линка был бы
      Ответить

    Добавить комментарий