место в рейтинге
  • 6050
  • 21
  • 11
Нравится блог?
Подписывайтесь!

Немного функциональности в C#

Простенькое:

   
  1. public static int ToInt(this string value, int @default = 0)
  2. {
  3. int result;
  4. return int.TryParse(value, out result)
  5. ? result
  6. : @default;
  7. }

Такая запись позволить получить результат вне зависимости от value.

И дальше возможно использовать так:

   
  1. var i = "123".ToInt();
  2. var j = "1qwerty".ToInt(100);
 

Чуть посложнее. Немного Linq.

Предположим, что у нас есть некоторое перечисление - IEnumerable и мы хотим произвести некоторые действия над ним без использования foreach. У каждого перечисления есть метод материализации списка - ToList, т.к. сам по себе IEnumerable - ленивый.

У класса List<T> есть метод ForEach, который позволяет производить некоторую операцию с каждым элементом списка, при этом не меняя сам список.

На вход метода подается делегат Action<T>, который можно передать либо в виде анонимной лямбда-функции, либо в виде определенного метода.

Как пример - каждый файл списка подвергается некой обработке и выводится сообщение о результате обработки.

   
  1. files
  2. .ForEach(
  3. doc =>
  4. {
  5. _operations[key].Execute(doc);
  6. _log.Info(string.Format("File: {0} processed", doc));
  7. });
 

Теперь, предположим, что нам нужно произвести некую операцию с каждым элементом перечисления, при этом модифицируя само перечисление. Для этого используется метод Select. Простейший пример из MSDN:

   
  1. IEnumerable<int> squares = Enumerable.Range(1, 10).Select(x => x * x);
 

При этом значения квадратов исходного перечисления не вычисляются мгновенно, а будут вычислены только тогда, когда будет произведено перечисление объекта при помощи метода GetEnumerator, либо при помощи foreach.

На этом пока все:)

 
Hes
20 мая 2014, 15:13
545

Загрузка...
Loading...

Комментарии

Оставьте свой комментарий

Спасибо за открытие блога в Yvision.kz! Чтобы убедиться в отсутствии спама, все комментарии новых пользователей проходят премодерацию. Соблюдение правил нашей блог-платформы ускорит ваш переход в категорию надежных пользователей, не нуждающихся в премодерации. Обязательно прочтите наши правила по указанной ссылке: Правила

Также можно нажать Ctrl+Enter

Популярные посты

Мой дом – не гостиница. Я не останавливаюсь у своей родни, потому что знаю, что это такое

Мой дом – не гостиница. Я не останавливаюсь у своей родни, потому что знаю, что это такое

Наступил долгожданный момент и мы смогли заселиться в собственную квартиру. А потом началось... Все знакомые, родственники, даже коллеги и соседи родителей вспомнили о нашем существовании.
Idealovnet
14 окт. 2017 / 20:38
  • 8830
  • 82
Работа на EXPO. «Улыбайтесь, вы – лица Казахстана»

Работа на EXPO. «Улыбайтесь, вы – лица Казахстана»

Продление перерывов, втыки от менеджеров, борьба за стенды, кучкования, как мы друг-друга прикрывали, защищали от гостей. Все эти события доставляли радость, и каждый день на работу я приходила...
madiNAtty
14 окт. 2017 / 22:34
  • 6096
  • 23
О проститутках, ЗППП и других сексуальных страстях

О проститутках, ЗППП и других сексуальных страстях

У меня обширный сексуальный опыт, и я этим не хвастаюсь. Будь у меня возможность, променял бы это всё на одного партнёра. Но так как с личной жизнью не заладилось, а секс я очень люблю, то приходилось изворачиваться.
bez_prav
18 окт. 2017 / 18:01
Я четко помню тот день, когда мне позвонили друзья и сообщили: «Она выходит замуж»

Я четко помню тот день, когда мне позвонили друзья и сообщили: «Она выходит замуж»

У нас была особенная атмосфера, мы постоянно были вместе, читали треки, летом часто поднимались в горы. Гуляли пешком по ночному городу, иногда до утра. Снимали хату и представляли совместную жизнь...
Dominator-kz
14 окт. 2017 / 22:29
Отчего в Казахстане предвзятое отношение к отечественному продукту?

Отчего в Казахстане предвзятое отношение к отечественному продукту?

Вы когда-нибудь пользовались казахстанской косметикой? Я тоже нет, поэтому сразу же откликнулась на приглашение своего фейсбук-френда протестировать отечественные крема… из Степногорска.
Shimanskaya
16 окт. 2017 / 11:32
  • 2750
  • 30
Я помню тот день, когда мне позвонили друзья и сообщили: «Она выходит замуж». Часть 2

Я помню тот день, когда мне позвонили друзья и сообщили: «Она выходит замуж». Часть 2

Я знал дату свадьбы. За неделю до свадьбы в соцсети "Вконтакте" на все мои последние фото, был проставлен лайк с её профиля. Сердце забилось сильнее. В душе загорелась наивная, крошечная надежда.
Dominator-kz
17 окт. 2017 / 15:41
Мой парень – «тиран». Почему я вступила в такие отношения?

Мой парень – «тиран». Почему я вступила в такие отношения?

История из моей жизни. Я вспоминаю эти отношения и сама не могу понять - как так произошло? А дело в том, что вы и сами не заметите. Это наступает плавно и динамично.
Altynai_JA
18 окт. 2017 / 14:17
«Автобусная неделя». Выдержит ли аким Шымкента давку в общественном транспорте?

«Автобусная неделя». Выдержит ли аким Шымкента давку в общественном транспорте?

Аким Шымкента Габидулла Абдрахимов нашёл решение накопившихся проблем городского транспорта. Все ключевые работники акимата некоторое время будут сами ездить на автобусах.
openqazaqstan
18 окт. 2017 / 10:53
  • 1635
  • 30
Аркадий Волож привел в Казахстан «Яндекс.Лицей». Плакать или радоваться?

Аркадий Волож привел в Казахстан «Яндекс.Лицей». Плакать или радоваться?

"Яндекс.Лицей" зашел в казахстанские школы. План - учить бесплатно программированию, формировать себе кадры и выйти на мощность 10 тысяч школьников в год.
Zhumanova
18 окт. 2017 / 8:36
  • 1429
  • 10