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

    +131

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    object FirstElement = null;
    foreach(var item in SomeCollection)
       {
           FirstElement = item;
           break;
       }

    Ось так от береться перший елемент з колекції :)

    Запостил: O_O, 26 Мая 2010

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

    • ну если это IEnumerable - то там нет индексатора,
      хотя для этого есть LINQ - First(); FirstOrDefault();
      Ответить
      • а что нить типа .Iterator.Next -- нет?
        Ответить
        • Если коллекция пустая - таким образом выскочит исключение.
          А так в случае пустой коллекции будет значение null :)
          Ответить
          • А если что-то типа: SomeCollection.Count?SomeCollection.get( 0):null;
            Ответить
            • Идите, в свою песочницу джавистов и там играйте :-)
              Ответить
              • использование VAR однозначно говорит что в песочнице сидите вы
                Ответить
                • А в чем проблема? Шарп уже научили выводить типы.
                  Ответить
              • виртуальную машину! )
                Ответить
            • Мы, коммунисты, легких путей не ищем!
              Ответить
    • показать все, что скрытоЕврол муртас ыксепшен.
      Ответить
    • зато переносимо :D
      Ответить
    • Угу. А последний элемент тут, наверное, будет браться так:
      object FirstElement = null;
      foreach(var item in SomeCollection) { FirstElement = item; }
      Ответить
    • показать все, что скрытоvar превратил C# в говно
      Ответить
      • показать все, что скрытоТы не поверишь, до диез был говном с рождения.
        Ответить
        • Хотя бы не так воняет, как Java.
          Ответить
          • а чем жаба хуже?
            "я пробовал и то, и другое - разница колоссальная!" (ц)
            Ответить
            • разница колоссальная в пользу с#
              Ответить
              • ой, батенька, не нарывайтесь тока на холивар...
                я после того, как попробовал - остался жабистом - и кончим засим эту бессмысленную дискуссию.
                Ответить
                • быстро ты слил. оно и понятно - в пользу говножабки аргументиков не хватит.
                  Ответить
      • почему?

        что прикольного в писании Dictionary<string, string> v = new Dictionary<string, string>()?

        а теперь сравни с var d = new Dictionary<string, string>();

        видно, что ты не имел дела с сишарпом, это одно из самых полезных нововвведений версии три.

        вот что мне ненравится как нелюбителю динамики, так это dynamic в четвёртой версии.
        Ответить
        • показать все, что скрытода? а потом в коде еще искать чем эта d инитиализируется, что бы узнать ее тип? спасибо. Особенно если инитиализируется не самим классом, а субклассом - и возникают вопросы - а можно ли присвоить позже значение не классом этого типа, а его суперклассом? когда явно - половина загадок превращается в вопросы
          Ответить
          • ты какую-то херь пишешь, var нельзя употреблять полями/свойствами
            Ответить
          • нахуй тебе знать тип? ide сама все выведет в автокомплите. проблему высосал из пальца.
            Ответить
            • и еще неправильно выведет
              Ответить
              • ахуеть какая аргументация
                пруф где, любитель метанации?
                Ответить
              • var можно использовать только для локальных переменных метода, о каком "неправильно выведет" идёт речь?
                Ответить
              • это просто удобный синтаксический сахар

                var d = new X();

                всегда развернётся до

                X d = new X();

                что здесь слоэжного?!
                Ответить
                • а, понял
                  Ответить
                  • а ты всегда соображаешь так же быстро как работает java?
                    Ответить
                    • любители руби так и вовсе олигофрены
                      Ответить
                • жабакодеры не осилили type inference, очевидно же
                  Ответить
                  • ну как бы его и в сишарпе нету, var это так, пародия

                    зато индусы теперь могут в светской беседе вставлять модные словечки типа type inference
                    Ответить
            • А ещё она тебе отсосёт и можно кодировать мышкой, не отрываясь от поглощения яги, ага?
              Ответить
              • да, а ты заблёванный волосатый девственник
                Ответить
                • Как ты догадался, Шерлок Холмс?
                  Ответить
                  • я гостей вижу насквозь, я же сам такой.
                    Ответить
        • Dictionary<string, string> - это говнокод. Нужно использовать StringDictionary, чтобы не терялась производительность при приведении типОв :)
          Ответить
          • это где это?
            Ответить
            • Да советует Microsoft Press в издании по самоподготовке в 70-536
              Ответить
              • бред какой-то, там никакого приведения типов нет )
                Ответить
    • Ой мля, если foreach - значит там реализован Итератор, если там реализован Итератор - то получает его (че-то вроде так: IEnumerator ien = SomeCollection.GetIEnumerator(); потом ien.Reset(); ien.MoveNext(); приводим к нужному типу и проверяем на ненал)
      Ответить
      • Уважаемый Ушат Помоев, Вы случайно не знаете, где можно найти Корыто Зерна?
        Ответить

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