|
Перевести из Linq
|
|||
---|---|---|---|
#18+
Парни. Нужно перевести конструкцию выполненную на Linq в обычный "человечий" код. Совсем не знаком с Linq. Затупил на ".Select(mt => new { MediaType = mt, Delta = Math.Abs(desiredBitRate - mt.AverageBytesPerSecond * 8) } )". Помогите пожалуйста. Было: Код: c# 1. 2. 3. 4. 5. 6.
Стало: Код: c# 1. 2. 3. 4. 5. 6. 7.
Вот еще один вариант, требующий проверки знатоков. Все правильно перевел? Было: Код: c# 1. 2. 3. 4. 5. 6.
Стало: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
Заранее огромное СПАСИБО! ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2016, 07:55 |
|
Перевести из Linq
|
|||
---|---|---|---|
#18+
Стесняюсь спросить, а нафига из линк переводить в "это"? Код: c# 1.
Тут создается из коллекции по типу MediaType коллекция по анонимному типу с тремя полями ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2016, 12:09 |
|
Перевести из Linq
|
|||
---|---|---|---|
#18+
т.е. с 2умя полями ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2016, 12:10 |
|
Перевести из Linq
|
|||
---|---|---|---|
#18+
PallarisСтесняюсь спросить, а нафига из линк переводить в "это"? Код: c# 1.
Тут создается из коллекции по типу MediaType коллекция по анонимному типу с тремя полями Нужно одну библиотеку внедрить в проект который написан под 2.0 ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2016, 13:43 |
|
Перевести из Linq
|
|||
---|---|---|---|
#18+
Конструкция в Select создаёт объекты на каждый элемент из исходной последовательности, полученной с помощью GetOutputMediaTypes. Только сначала фильтром where проходится, а потом создаёт. Поэтому первая часть вашего "стало" правильная. Т. е. сначала нужно собрать все объекты в коллекцию, как у вас во втором "стало", только определённого кастомного типа (анонимного или конкретного - как вам больше подойдёт), а не просто int. Т. е. конструкцию с new из select копируете в ваш if. Затем ещё один цикл по получившейся коллекции, который упорядочивает по Delta. Затем забрать первый элемент получившейся коллекции и взять его поле MediaType. Когда распишете всю эту простыню, сравните потом с изначальным LINQ-выражением, проникнитесь краткостью и удобством и ВПЕРЁД - изучать LINQ. Сегодняшний дотнет без линка, это как... ну, это как не знать про классы в ООП. Кстати, также изучите анонимные типы, инициализаторы объектов, делегаты, особенно встроенные в дотнет, типа функций, предикатов, действий (Func, Predicate, Action), и прочее - как видите, всё это с линком очень тесно используется в современном дотнете. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2016, 17:26 |
|
Перевести из Linq
|
|||
---|---|---|---|
#18+
GorloPavel, Создайте класс с двумя полями MediaType и Delta. Значения для полей можете присваивать в конструкторе класса. А уже в список (List/Dictionary) добавляйте сами экземпляры класса ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2016, 17:27 |
|
Перевести из Linq
|
|||
---|---|---|---|
#18+
GorloPavelPallarisСтесняюсь спросить, а нафига из линк переводить в "это"? Код: c# 1.
Тут создается из коллекции по типу MediaType коллекция по анонимному типу с тремя полями Нужно одну библиотеку внедрить в проект который написан под 2.0 Какое-нибудь РЖД, Газпром, Сбербанк? Или там до сих пор Дельфи с Паскалем? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2016, 17:27 |
|
Перевести из Linq
|
|||
---|---|---|---|
#18+
AboboGorloPavelпропущено... Нужно одну библиотеку внедрить в проект который написан под 2.0 Какое-нибудь РЖД, Газпром, Сбербанк? Или там до сих пор Дельфи с Паскалем? Ну просто реально может быть даже экономически выгоднее переписать всё на новый дотнет, чем заставлять кучу народу из команды поддерживать такие простыни кода вместо удобных линк-выражений и прочих плюшек из современного дотнета. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2016, 17:28 |
|
Перевести из Linq
|
|||
---|---|---|---|
#18+
Abobo, Человеку не нужно всё "это" современное. Задача запускать всё на .NET 2.0 ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2016, 17:29 |
|
Перевести из Linq
|
|||
---|---|---|---|
#18+
VSVLADAbobo, Человеку не нужно всё "это" современное. Задача запускать всё на .NET 2.0 Да я понимаю. Просто, как я сказал, такую древность поддерживать - может, дешевле переписать по-нормальному всё будет? Да и видно же, до чего программистов своих эта контора довела - не знают, что такое LINQ, инициализаторы и прочую азбуку. Их из подвалов 10 лет не выпускали, чтоли, держали на голодном 2.0? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2016, 17:31 |
|
Перевести из Linq
|
|||
---|---|---|---|
#18+
AboboVSVLADAbobo, Человеку не нужно всё "это" современное. Задача запускать всё на .NET 2.0 Да я понимаю. Просто, как я сказал, такую древность поддерживать - может, дешевле переписать по-нормальному всё будет? Да и видно же, до чего программистов своих эта контора довела - не знают, что такое LINQ, инициализаторы и прочую азбуку. Их из подвалов 10 лет не выпускали, чтоли, держали на голодном 2.0? про древность мне понравилось ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2016, 17:35 |
|
Перевести из Linq
|
|||
---|---|---|---|
#18+
skyANAAboboпропущено... Да я понимаю. Просто, как я сказал, такую древность поддерживать - может, дешевле переписать по-нормальному всё будет? Да и видно же, до чего программистов своих эта контора довела - не знают, что такое LINQ, инициализаторы и прочую азбуку. Их из подвалов 10 лет не выпускали, чтоли, держали на голодном 2.0? про древность мне понравилось ХР наше всё! ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2016, 17:41 |
|
Перевести из Linq
|
|||
---|---|---|---|
#18+
AboboskyANAпропущено... про древность мне понравилось ХР наше всё!нет, Kanban ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2016, 17:43 |
|
Перевести из Linq
|
|||
---|---|---|---|
#18+
skyANAAboboпропущено... ХР наше всё!нет, Kanban Вот и правда, что кабан свинья, раз заставляет команду поддерживать всякое овно - "патамушта закащик хочит страннава". ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2016, 17:49 |
|
Перевести из Linq
|
|||
---|---|---|---|
#18+
AboboskyANAпропущено... нет, Kanban Вот и правда, что кабан свинья, раз заставляет команду поддерживать всякое овно - "патамушта закащик хочит страннава".обычные цикл - это значит уже "всякое овно".. да Вы.. Классный ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2016, 18:01 |
|
Перевести из Linq
|
|||
---|---|---|---|
#18+
skyANAAboboпропущено... Вот и правда, что кабан свинья, раз заставляет команду поддерживать всякое овно - "патамушта закащик хочит страннава".обычные цикл - это значит уже "всякое овно".. да Вы.. Классный Ну я классный, а "обычные циклы" в таких случаях - всякое овно. Вы бы ещё сказали, что на тракторах пашут только хипстеры, а настоящие мужики лопатами всё поле перекапывают. Тут недавно один был, который "руки отрывал за LINQ". Трудно, говорит, дебажить эти выражения. Предложил ему вообще компьютер выкинуть и отойти от дел - чтобы совсем легко стало. skyANA, а у вас где водораздел проходит между циклами и линком? Т. е. когда вы решаете, что "линк ещё можно", а "циклы пока нельзя"? Или сразу руки отрываете за любые линк-выражения, и принудительно насаждаете циклы? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2016, 20:18 |
|
Перевести из Linq
|
|||
---|---|---|---|
#18+
Не глубокий знаток C#, только учусь, был заинтригован LINQ, прочитал недавно книжку , там русским по белому написано "цель создания: упростить разаработку, но не ускорить работу кода. Хотите супер скоростей - не используйте LINQ". В 99% случаев важно удобство, т.е. компактность и простота кода, тут LINQ как раз кстати. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2016, 20:35 |
|
Перевести из Linq
|
|||
---|---|---|---|
#18+
AboboskyANAпропущено... обычные цикл - это значит уже "всякое овно".. да Вы.. Классный Ну я классный, а "обычные циклы" в таких случаях - всякое овно. Вы бы ещё сказали, что на тракторах пашут только хипстеры, а настоящие мужики лопатами всё поле перекапывают. Тут недавно один был, который "руки отрывал за LINQ". Трудно, говорит, дебажить эти выражения. Предложил ему вообще компьютер выкинуть и отойти от дел - чтобы совсем легко стало. skyANA, а у вас где водораздел проходит между циклами и линком? Т. е. когда вы решаете, что "линк ещё можно", а "циклы пока нельзя"? Или сразу руки отрываете за любые линк-выражения, и принудительно насаждаете циклы?я не насаждаю ни линк, ни циклы, ни монады :) не намекаю на производительность. Просто забавно. Что вы думаете о Kotlin? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2016, 20:48 |
|
Перевести из Linq
|
|||
---|---|---|---|
#18+
skyANAЧто вы думаете о Kotlin? Джет Брейнс маются хернёй. Кучка талантливых программистов решила поработать занозой в заднице у всяких крупняков, типа МС, в надежде, что их или их продукты у них этот крупняк купит. Судя по малипусенькому ревенью (по-быстрому гуглится оценка что-то около 1 мегабакса или ниже, хотя, для 500 сотрудников это как-то вообще за гранью - думаю, они всё же гораздо больше зарабатывают, а эти оценки - фигня; вобщем, хрен с ним, с ревенью) и Котлину, который спустя несколько лет всё ещё бета, дела у них идут не очень. МС не хочет покупать их Решарпер, и постепенно наполняет Студию его функциональностью. Котлин остаётся игрушкой для глупых хипстеров (ещё болшей игрушкой, чем Свифт для иосников). Остаётся одна Идея, которая на винде не нужна (ибо есть Студия), а на линуксах всяких много не заработаешь. Вобщем, думаю, не стоит ставить на эти котлины и вообще на Джет Брейнс. Либо их или их продукты купят с последующими похоронами, либо они просто разорятся, когда уже ничего толком не смогут предложить, а крупняк все их основные идеи внедрит/разработает у себя сам. И пусть вас не вводят в забдуждение слюнтявые восторги на всяких хабрах - там те ещё гики-фанаты всякого "хочется странного". Ну, это так, взгляд дилетанта со стороны. Про Котлин прочитал по-быстрому толкьо щас, а до этого только пару раз слышал такое слово... UPD. А, вот оно откуда пошло. Котлин - класс кораблей советских, а в Джет Брейнс окопались старпёры-имперцы, тоскующие по СССР, ненавидящие всё западное и в душе стремящиеся "отомстить за всё этим проклятым американцам". Иначе трудно понять упорство этих русских в явно безнадёжной возне с этими ихними котлинами, решарперами и идеями. Ну да, ребята талантливы. Но их бы энергию да в нужное капиталистическое русло, а не в пустое бодалово без дальнейших существенных перспектив. Как я уже сказал, максимум, что им грозит, это покупка крупняком и похороны их продуктов как отдельных вещей - будут внедрены в уже существующие разработки крупняка. Ну а за то, что они русские и ваще, навряд ли их кто купит (эти иваны ещё, поди, и продаваться не хотят) - так что их просто обанкротят. Но свой след в истории они таки оставят, как разработчики кучи всякого "хочется странного". Ну а обычным разработчикам не советую идти на поводу у них и не завязываться сильно на их продукты - в лучшем случае будут потом драть втридорога, а в худшем - см. про похороны и банкротство. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2016, 21:32 |
|
Перевести из Linq
|
|||
---|---|---|---|
#18+
Не, реально щас пошерстил статьи на Хабре. Кучка укуренной хипстоты пытается что-то калякать на бета-языке уже второй год. Убивать надо за такое, если это в продакшон идёт. А джетбрейнсы ваще обнаглели - без стеснения используют Котлин как иглу для своей Идеи. Видно, всё же решили не продаваться, а бодаться сами. Значит, будут драть втридорога, а потом их обанкротят - т. е. хипстоте, повёдшейся на них, достанется по самому худшему варианту. И поделом. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2016, 21:41 |
|
Перевести из Linq
|
|||
---|---|---|---|
#18+
GorloPavel, если хотите полностью съэмулировать LINQ, то, фактически, на каждую конструкцию, типа Select, Order, Where и пр. вам надо отдельный цикл городить. Ведь линк работает через итераторы последовательно, поэтому каждый следующий метод последовательно проходит по результатам предыдущего метода. Можете, конечно, попытаться сгородить вложенные циклы или сразу несколько операций в одном выполнить, только тогда вероятность ошибиться при этом будет больше, чем в таких простых линк-выражениях, как у вас или когда вы их развернёте в отдельные циклы. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2016, 21:55 |
|
Перевести из Linq
|
|||
---|---|---|---|
#18+
skyANA, чёт проблемки какие-то у этого вашего "Котлина" - плохо на многих ядрах работает, как докладуют с полей. Чём там с многоядерной работой у проклятой Студии от проклятой МС? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2016, 22:01 |
|
Перевести из Linq
|
|||
---|---|---|---|
#18+
Abobo, эвано как Вас бомбануло :) не читал ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2016, 10:03 |
|
Перевести из Linq
|
|||
---|---|---|---|
#18+
skyANAAbobo, эвано как Вас бомбануло :) не читал Читать всегда не поздно научиться. А тут главное, локти потом не кусать. Всякие борланды и эмбаркадеры покруче так в разы были, чем эти нынешние джет брейнсы. А где они щас? Так же, где и Дельфи. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2016, 11:18 |
|
Перевести из Linq
|
|||
---|---|---|---|
#18+
AboboskyANAAbobo, эвано как Вас бомбануло :) не читал Читать всегда не поздно научиться.Не вижу смысла учиться читать вбросы про овно, хипстеров, херню, проклятую студию и проклятый МС. Смысла ноль, юмора ноль, засим проскипал :) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2016, 13:11 |
|
|
start [/forum/topic.php?fid=20&fpage=68&tid=1400870]: |
0ms |
get settings: |
10ms |
get forum list: |
17ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
39ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
129ms |
get tp. blocked users: |
2ms |
others: | 296ms |
total: | 518ms |
0 / 0 |