|
Кто-нибудь может расшифровать, что делает здесь каждая строка и к чему она применяется?
|
|||
---|---|---|---|
#18+
Что код делает, я знаю, а вот как он это делает??? Что тут происходит? Мой аналогичный по результатам код занимает 50 строк, не считая гораздо больше числа using, а этот всего 7, но понять его не могу вообще. public static string orderWeight(string s) { return string.Join(" ", s.Split(' ') .OrderBy(n => n.ToCharArray() .Select(c => (int)char.GetNumericValue(c)).Sum()) .ThenBy(n => n)); } ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2017, 18:42 |
|
Кто-нибудь может расшифровать, что делает здесь каждая строка и к чему она применяется?
|
|||
---|---|---|---|
#18+
DaniilSeryi, А самому попробовать? Шаг за шагом? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2017, 19:15 |
|
Кто-нибудь может расшифровать, что делает здесь каждая строка и к чему она применяется?
|
|||
---|---|---|---|
#18+
s.Split(' ') - разделяем исходную строку на слова, разделенные пробелом. Для каждого слова считаем сумму цифр, из которых оно состоит: n => n.ToCharArray().Select(c => (int)char.GetNumericValue(c)).Sum() // переводим слово в массив символов n.ToCharArray(), берём цифру, записанную в символе .Select(c => (int)char.GetNumericValue(c)), суммируем все цифры .Sum() Сортируем слова по сумме .OrderBy(...) На случай, если будет одинаковая сумма цифр у разных слов, дополнительно сортируем слова по алфавиту .ThenBy(n => n) Объединяем слова в полученном порядке, разделяя их пробелом string.Join(" ", ...) ЗЫ. Только, если не ошибаюсь, GetNumericValue возвращает -1 для не числовых символов, т.е. слово 4 будет стоять после слова 1а4 (оба дадут сумму 4, но по алфавиту 1а4 будет меньше) ЗЫ2. Строки строками, но я бы еще производительность проверил. А то на хабре кажется статья про "оптимизацию" была. Накатали сначала код на сервере на модном linq, оказалось, что код используется часто и даёт высокую нагрузку. В итоге переписали на классический посимвольный перебор и разница получилась в разы не в пользу моде. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2017, 19:16 |
|
Кто-нибудь может расшифровать, что делает здесь каждая строка и к чему она применяется?
|
|||
---|---|---|---|
#18+
DaniilSeryi, За столько времени на форуме можно было бы освоить тэги оформления кода Как мне оформить свое сообщение? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2017, 19:34 |
|
Кто-нибудь может расшифровать, что делает здесь каждая строка и к чему она применяется?
|
|||
---|---|---|---|
#18+
DaniilSeryiЧто код делает, я знаю, а вот как он это делает??? Почитай что-нибудь про LINQ и все поймешь. 50-100 страниц максимум, за пару часов осилишь. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2017, 19:49 |
|
Кто-нибудь может расшифровать, что делает здесь каждая строка и к чему она применяется?
|
|||
---|---|---|---|
#18+
Всем спасибо за ответы. Ну забыл я оформить, забыл... По поводу Linq и Regexp - придётся читать, а пока это для меня что-то очень чуждое. А Код: c# 1.
вообще х.з. что такое. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2017, 23:00 |
|
Кто-нибудь может расшифровать, что делает здесь каждая строка и к чему она применяется?
|
|||
---|---|---|---|
#18+
DaniilSeryiвообще х.з. что такое. учебник попытайся открыть ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2017, 23:09 |
|
Кто-нибудь может расшифровать, что делает здесь каждая строка и к чему она применяется?
|
|||
---|---|---|---|
#18+
DaniilSeryiВсем спасибо за ответы. Ну забыл я оформить, забыл... По поводу Linq и Regexp - придётся читать, а пока это для меня что-то очень чуждое. А Код: c# 1.
вообще х.з. что такое. LINQ как шаг к функциональному программированию Концепции C# 3.0, позволившие создать LINQ ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2017, 05:49 |
|
Кто-нибудь может расшифровать, что делает здесь каждая строка и к чему она применяется?
|
|||
---|---|---|---|
#18+
DaniilSeryiВсем спасибо за ответы. Ну забыл я оформить, забыл... По поводу Linq и Regexp - придётся читать, а пока это для меня что-то очень чуждое. А Код: c# 1.
вообще х.з. что такое. Это оператор. Как думаешь, тебе каждый символ будут тебе разжёвывать? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2017, 07:06 |
|
|
start [/forum/topic.php?fid=20&fpage=39&tid=1399723]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
45ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
2ms |
others: | 320ms |
total: | 469ms |
0 / 0 |