Форум программистов, компьютерный форум, киберфорум
Наши страницы

C# для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 28, средняя оценка - 4.79
temich-92
c#
87 / 87 / 4
Регистрация: 25.03.2011
Сообщений: 290
#1

Что означает эта запись array = array.Select((x) => x == max ? sum : x).ToArray() - C#

23.01.2012, 17:22. Просмотров 3835. Ответов 7
Метки нет (Все метки)

вот пример

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
    class test
    {
        static void Main(string[] args)
        {
            int[] array = { 5, -9, 8, 6, -14 };
            int sum = array.Where((x, idx) => idx % 2 == 0).Sum();
            int max = array.Max();
 
            array = array.Select((x) => x == max ? sum : x).ToArray();
 
            Console.Write(string.Join(" ", array));
            Console.ReadKey();
        }
    }
как этим пользоваться? что это такое? (первый раз здесь на форуме недавно увидел и нигде не могу найти, что это такое)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.01.2012, 17:22
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Что означает эта запись array = array.Select((x) => x == max ? sum : x).ToArray() (C#):

.NET 4.x Что означает эта запись? - C#
Объясните пожалуйста, как читать запись, например: "((System.ComponentModel.ISupportInitialize)(this.eventLog1)).BeginInit();" ...

Что означает эта запись? - C#
В коде программы есть запись: StreamReader sr = new StreamReader(@"\\Alpha\Dests$/ae/Students.txt", System.Text.Encoding.Default); Мне...

Что означает эта запись? - C#
Чуваки помогите, что означает эта запись ?

подскажи пожалуйста что означает эта запись? - C#
string str = vvod.Split(new Char { ' ', ',', '.', ':', '!', '?', ';' }, StringSplitOptions.RemoveEmptyEntries);

Суммирование только отобранных элементов с помощью array.Sum() - C#
Господа , подскажите что не так??? Метод по идее должен сложить все отобранные нечётные элементы массива int.Подскажите как правильно его...

Как устроена внутренняя реализация Array.Copy и Array.CopyTo - C#
Народ плис, я новичок, но нужна срочная консультация: Кто знает как устроена внутренняя реализация Array.Copy и Array.CopyTo? Есть...

7
defer
秘密
555 / 235 / 3
Регистрация: 29.11.2010
Сообщений: 783
23.01.2012, 17:24 #2
http://www.cyberforum.ru/csharp-net/thread83660.html
1
Black-millenium
24 / 24 / 1
Регистрация: 26.11.2011
Сообщений: 157
23.01.2012, 17:48 #3
C#
1
 array = array.Select((x) => x == max ? sum : x).ToArray()
то что в скобочках - это лямбда-выражение. Весьма няшная и годная штука.
1
SlavAz
ѪѦѢ
595 / 164 / 2
Регистрация: 19.08.2011
Сообщений: 666
Записей в блоге: 3
23.01.2012, 19:42 #4
а

C#
1
... max ? sum : x ...
разве не сокращённая форма if else?
1
tantemka
Амурчанка
129 / 129 / 19
Регистрация: 07.11.2011
Сообщений: 279
23.01.2012, 19:51 #5
C#
1
x == max ? sum : x
вот так будет сокращенная форма
1
kolorotur
Эксперт .NET
9102 / 7605 / 1208
Регистрация: 17.09.2011
Сообщений: 13,131
23.01.2012, 20:30 #6
SlavAz, да, это сокращенная форма if else, которая находится в анонимном методе, написанном через лямбду.
2
SlavAz
ѪѦѢ
595 / 164 / 2
Регистрация: 19.08.2011
Сообщений: 666
Записей в блоге: 3
23.01.2012, 21:58 #7
Цитата Сообщение от kolorotur Посмотреть сообщение
SlavAz, да, это сокращенная форма if else, которая находится в анонимном методе, написанном через лямбду.
Ага, лямбду я распознал =) просто подумал что стоит объяснить всю строку...
1
temich-92
c#
87 / 87 / 4
Регистрация: 25.03.2011
Сообщений: 290
24.01.2012, 00:44  [ТС] #8
пасиба всем)разобрался
0
24.01.2012, 00:44
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.01.2012, 00:44
Привет! Вот еще темы с ответами:

.NET 2.x unsafe byte array to struct array - C#
Есть массив байт размером N. Есть структура, внутри которой enum поле размером в 1 байт. Как с помощью unsafe кода преобразовать...

Конвертирование HEX array в BYTE array - C#
Собственно сабж. Накопипастил. И слепил это. Скажите а можно лаконичнее? //Художественный изгиб преобразования HEX в Byte...

List<Array> to Array - C#
Проблема конвертнуть List&lt;Array&gt; в двумерный массив.

Что означает эта команда? - C#
app.UseIsOperator(g);


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru