Enviar búsqueda
Cargar
知って得するC# LINQ to Objects編
•
21 recomendaciones
•
12,914 vistas
Shota Baba
Seguir
Tecnología
Denunciar
Compartir
Denunciar
Compartir
1 de 50
Descargar ahora
Descargar para leer sin conexión
Recomendados
Test Yourself - テストを書くと何がどう変わるか
Test Yourself - テストを書くと何がどう変わるか
Takuto Wada
子供の言語獲得と機械の言語獲得
子供の言語獲得と機械の言語獲得
Yuya Unno
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
Takuto Wada
ジャストシステムJava100本ノックのご紹介
ジャストシステムJava100本ノックのご紹介
JustSystems Corporation
Pythonはどうやってlen関数で長さを手にいれているの?
Pythonはどうやってlen関数で長さを手にいれているの?
Takayuki Shimizukawa
良い?悪い?コードコメントの書き方
良い?悪い?コードコメントの書き方
Shigenori Sagawa
営業さんまで、社員全員がSQLを使う 「越境型組織」 ができるまでの3+1のポイント | リブセンス
営業さんまで、社員全員がSQLを使う 「越境型組織」 ができるまでの3+1のポイント | リブセンス
Livesense Inc.
暗号技術の実装と数学
暗号技術の実装と数学
MITSUNARI Shigeo
Recomendados
Test Yourself - テストを書くと何がどう変わるか
Test Yourself - テストを書くと何がどう変わるか
Takuto Wada
子供の言語獲得と機械の言語獲得
子供の言語獲得と機械の言語獲得
Yuya Unno
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
Takuto Wada
ジャストシステムJava100本ノックのご紹介
ジャストシステムJava100本ノックのご紹介
JustSystems Corporation
Pythonはどうやってlen関数で長さを手にいれているの?
Pythonはどうやってlen関数で長さを手にいれているの?
Takayuki Shimizukawa
良い?悪い?コードコメントの書き方
良い?悪い?コードコメントの書き方
Shigenori Sagawa
営業さんまで、社員全員がSQLを使う 「越境型組織」 ができるまでの3+1のポイント | リブセンス
営業さんまで、社員全員がSQLを使う 「越境型組織」 ができるまでの3+1のポイント | リブセンス
Livesense Inc.
暗号技術の実装と数学
暗号技術の実装と数学
MITSUNARI Shigeo
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
Kentaro Matsui
OPC UAをオープンソースやフリーのソフトで遊んでみた
OPC UAをオープンソースやフリーのソフトで遊んでみた
ミソジ
Jupyterカーネルを魔改造した話
Jupyterカーネルを魔改造した話
Amazon Web Services Japan
設計と実装で 抑えておきたい サービスクラスと例外
設計と実装で 抑えておきたい サービスクラスと例外
Takuya Sato
ゼロ幅スペースという悪夢
ゼロ幅スペースという悪夢
swamp Sawa
導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について
導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について
shinjiigarashi
Elixirと他言語の比較的紹介ver.2
Elixirと他言語の比較的紹介ver.2
Tsunenori Oohara
Pythonによる黒魔術入門
Pythonによる黒魔術入門
大樹 小倉
Apache Airflow 概要(Airflowの基礎を学ぶハンズオンワークショップ 発表資料)
Apache Airflow 概要(Airflowの基礎を学ぶハンズオンワークショップ 発表資料)
NTT DATA Technology & Innovation
C# 9.0 / .NET 5.0
C# 9.0 / .NET 5.0
信之 岩永
社内の画像変換サーバーをGoで置き換えた話
社内の画像変換サーバーをGoで置き換えた話
aoi shirase
オブジェクト指向できていますか?
オブジェクト指向できていますか?
Moriharu Ohzu
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
NTT DATA Technology & Innovation
RedmineとGitとスクラム
RedmineとGitとスクラム
Takashi Okamoto
Javaチョットデキルへの道〜JavaコアSDKに見る真似したいコード10選〜
Javaチョットデキルへの道〜JavaコアSDKに見る真似したいコード10選〜
JustSystems Corporation
青空文庫と式年遷宮アーキテクチャ: 青空文庫200周年に向けて
青空文庫と式年遷宮アーキテクチャ: 青空文庫200周年に向けて
masayoshi takahashi
PEGで構文解析をする
PEGで構文解析をする
jiro4989
TRICK 2022 Results
TRICK 2022 Results
mametter
Kotlinアンチパターン
Kotlinアンチパターン
Recruit Lifestyle Co., Ltd.
Smalltalkだめ自慢
Smalltalkだめ自慢
Masashi Umezawa
Project lambda
Project lambda
Appresso Engineering Team
ADO.NETとORMとMicro-ORM -dapper dot netを使ってみた
ADO.NETとORMとMicro-ORM -dapper dot netを使ってみた
Narami Kiyokura
Más contenido relacionado
La actualidad más candente
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
Kentaro Matsui
OPC UAをオープンソースやフリーのソフトで遊んでみた
OPC UAをオープンソースやフリーのソフトで遊んでみた
ミソジ
Jupyterカーネルを魔改造した話
Jupyterカーネルを魔改造した話
Amazon Web Services Japan
設計と実装で 抑えておきたい サービスクラスと例外
設計と実装で 抑えておきたい サービスクラスと例外
Takuya Sato
ゼロ幅スペースという悪夢
ゼロ幅スペースという悪夢
swamp Sawa
導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について
導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について
shinjiigarashi
Elixirと他言語の比較的紹介ver.2
Elixirと他言語の比較的紹介ver.2
Tsunenori Oohara
Pythonによる黒魔術入門
Pythonによる黒魔術入門
大樹 小倉
Apache Airflow 概要(Airflowの基礎を学ぶハンズオンワークショップ 発表資料)
Apache Airflow 概要(Airflowの基礎を学ぶハンズオンワークショップ 発表資料)
NTT DATA Technology & Innovation
C# 9.0 / .NET 5.0
C# 9.0 / .NET 5.0
信之 岩永
社内の画像変換サーバーをGoで置き換えた話
社内の画像変換サーバーをGoで置き換えた話
aoi shirase
オブジェクト指向できていますか?
オブジェクト指向できていますか?
Moriharu Ohzu
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
NTT DATA Technology & Innovation
RedmineとGitとスクラム
RedmineとGitとスクラム
Takashi Okamoto
Javaチョットデキルへの道〜JavaコアSDKに見る真似したいコード10選〜
Javaチョットデキルへの道〜JavaコアSDKに見る真似したいコード10選〜
JustSystems Corporation
青空文庫と式年遷宮アーキテクチャ: 青空文庫200周年に向けて
青空文庫と式年遷宮アーキテクチャ: 青空文庫200周年に向けて
masayoshi takahashi
PEGで構文解析をする
PEGで構文解析をする
jiro4989
TRICK 2022 Results
TRICK 2022 Results
mametter
Kotlinアンチパターン
Kotlinアンチパターン
Recruit Lifestyle Co., Ltd.
Smalltalkだめ自慢
Smalltalkだめ自慢
Masashi Umezawa
La actualidad más candente
(20)
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
OPC UAをオープンソースやフリーのソフトで遊んでみた
OPC UAをオープンソースやフリーのソフトで遊んでみた
Jupyterカーネルを魔改造した話
Jupyterカーネルを魔改造した話
設計と実装で 抑えておきたい サービスクラスと例外
設計と実装で 抑えておきたい サービスクラスと例外
ゼロ幅スペースという悪夢
ゼロ幅スペースという悪夢
導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について
導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について
Elixirと他言語の比較的紹介ver.2
Elixirと他言語の比較的紹介ver.2
Pythonによる黒魔術入門
Pythonによる黒魔術入門
Apache Airflow 概要(Airflowの基礎を学ぶハンズオンワークショップ 発表資料)
Apache Airflow 概要(Airflowの基礎を学ぶハンズオンワークショップ 発表資料)
C# 9.0 / .NET 5.0
C# 9.0 / .NET 5.0
社内の画像変換サーバーをGoで置き換えた話
社内の画像変換サーバーをGoで置き換えた話
オブジェクト指向できていますか?
オブジェクト指向できていますか?
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
RedmineとGitとスクラム
RedmineとGitとスクラム
Javaチョットデキルへの道〜JavaコアSDKに見る真似したいコード10選〜
Javaチョットデキルへの道〜JavaコアSDKに見る真似したいコード10選〜
青空文庫と式年遷宮アーキテクチャ: 青空文庫200周年に向けて
青空文庫と式年遷宮アーキテクチャ: 青空文庫200周年に向けて
PEGで構文解析をする
PEGで構文解析をする
TRICK 2022 Results
TRICK 2022 Results
Kotlinアンチパターン
Kotlinアンチパターン
Smalltalkだめ自慢
Smalltalkだめ自慢
Similar a 知って得するC# LINQ to Objects編
Project lambda
Project lambda
Appresso Engineering Team
ADO.NETとORMとMicro-ORM -dapper dot netを使ってみた
ADO.NETとORMとMicro-ORM -dapper dot netを使ってみた
Narami Kiyokura
[東京] JapanSharePointGroup 勉強会 #2
[東京] JapanSharePointGroup 勉強会 #2
Atsuo Yamasaki
20080201
20080201
小野 修司
基礎から見直す ASP.NET MVC の単体テスト自動化方法 ~ Windows Azure 関連もあるかも~
基礎から見直す ASP.NET MVC の単体テスト自動化方法 ~ Windows Azure 関連もあるかも~
normalian
はじめてのPowerShell
はじめてのPowerShell
Trainocate Japan, Ltd.
20180123 power shell
20180123 power shell
Trainocate Japan, Ltd.
Apache Torqueについて
Apache Torqueについて
tako pons
ZabbixのAPIを使って運用を楽しくする話
ZabbixのAPIを使って運用を楽しくする話
Masahito Zembutsu
Pythonによる機械学習入門 ~Deep Learningに挑戦~
Pythonによる機械学習入門 ~Deep Learningに挑戦~
Yasutomo Kawanishi
DeclarativeSql
DeclarativeSql
Takaaki Suzuki
TypeScript 言語処理系ことはじめ
TypeScript 言語処理系ことはじめ
Yu Nobuoka
JavaScriptクイックスタート
JavaScriptクイックスタート
Shumpei Shiraishi
MySQLのパフォーマンスの話
MySQLのパフォーマンスの話
Tetsuro Ikeda
C# 3.0 以降
C# 3.0 以降
Fujio Kojima
Start!! Ruby
Start!! Ruby
mitim
SQLマッピングフレームワーク「Kobati」のはなし
SQLマッピングフレームワーク「Kobati」のはなし
Kazuki Minamitani
【C++BUILDER STARTER チュートリアルシリーズ】シーズン2 C++Builderの部 第6回 ‟文字列とオブジェクト„
【C++BUILDER STARTER チュートリアルシリーズ】シーズン2 C++Builderの部 第6回 ‟文字列とオブジェクト„
和弘 井之上
今さら聞けないHadoop勉強会第3回 セントラルソフト株式会社(20120327)
今さら聞けないHadoop勉強会第3回 セントラルソフト株式会社(20120327)
YoheiOkuyama
そしてjsの基礎へ戻る#4
そしてjsの基礎へ戻る#4
Shingo Inoue
Similar a 知って得するC# LINQ to Objects編
(20)
Project lambda
Project lambda
ADO.NETとORMとMicro-ORM -dapper dot netを使ってみた
ADO.NETとORMとMicro-ORM -dapper dot netを使ってみた
[東京] JapanSharePointGroup 勉強会 #2
[東京] JapanSharePointGroup 勉強会 #2
20080201
20080201
基礎から見直す ASP.NET MVC の単体テスト自動化方法 ~ Windows Azure 関連もあるかも~
基礎から見直す ASP.NET MVC の単体テスト自動化方法 ~ Windows Azure 関連もあるかも~
はじめてのPowerShell
はじめてのPowerShell
20180123 power shell
20180123 power shell
Apache Torqueについて
Apache Torqueについて
ZabbixのAPIを使って運用を楽しくする話
ZabbixのAPIを使って運用を楽しくする話
Pythonによる機械学習入門 ~Deep Learningに挑戦~
Pythonによる機械学習入門 ~Deep Learningに挑戦~
DeclarativeSql
DeclarativeSql
TypeScript 言語処理系ことはじめ
TypeScript 言語処理系ことはじめ
JavaScriptクイックスタート
JavaScriptクイックスタート
MySQLのパフォーマンスの話
MySQLのパフォーマンスの話
C# 3.0 以降
C# 3.0 以降
Start!! Ruby
Start!! Ruby
SQLマッピングフレームワーク「Kobati」のはなし
SQLマッピングフレームワーク「Kobati」のはなし
【C++BUILDER STARTER チュートリアルシリーズ】シーズン2 C++Builderの部 第6回 ‟文字列とオブジェクト„
【C++BUILDER STARTER チュートリアルシリーズ】シーズン2 C++Builderの部 第6回 ‟文字列とオブジェクト„
今さら聞けないHadoop勉強会第3回 セントラルソフト株式会社(20120327)
今さら聞けないHadoop勉強会第3回 セントラルソフト株式会社(20120327)
そしてjsの基礎へ戻る#4
そしてjsの基礎へ戻る#4
Más de Shota Baba
Unity で実装するエイジングテストのお話
Unity で実装するエイジングテストのお話
Shota Baba
【Visual Studio】開発効率を上げる25個の拡張機能
【Visual Studio】開発効率を上げる25個の拡張機能
Shota Baba
Unity エディタ拡張
Unity エディタ拡張
Shota Baba
知って得するUnity エディタ拡張編
知って得するUnity エディタ拡張編
Shota Baba
知って得するUnity
知って得するUnity
Shota Baba
知って得するC#
知って得するC#
Shota Baba
Más de Shota Baba
(6)
Unity で実装するエイジングテストのお話
Unity で実装するエイジングテストのお話
【Visual Studio】開発効率を上げる25個の拡張機能
【Visual Studio】開発効率を上げる25個の拡張機能
Unity エディタ拡張
Unity エディタ拡張
知って得するUnity エディタ拡張編
知って得するUnity エディタ拡張編
知って得するUnity
知って得するUnity
知って得するC#
知って得するC#
Último
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Toru Tamaki
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
WSO2
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
sn679259
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
CRI Japan, Inc.
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Toru Tamaki
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Hiroshi Tomioka
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
CRI Japan, Inc.
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
atsushi061452
Último
(11)
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
知って得するC# LINQ to Objects編
1.
知って得する C# LINQ to Objects編 株式会社ハ・ン・ド プログラマ 馬場翔太 http://baba-s.hatenablog.com/
2.
スライド内容 1. LINQ to
Objectsとは 2. LINQ to Objectsの使用例
3.
LINQ to Objectsとは
4.
コレクションを扱うための新しい方法 for文やforeach文を使わず下記の様な処理が行えます • 条件を満たす要素の数を取得 • 条件を満たす要素を抽出 •
条件を満たす最初の要素を取得 • 昇順にソート • etc.
5.
LINQ to Objectsを使うために必要なこと using
System.Linq; この一行をソースコードの先頭に追加するだけです
6.
「using System.Linq;」を追加すると… 配列やリストで多くの拡張メソッドが使用可能になります • Count •
Where • First • OrderBy • etc. 次のスライドから順番に紹介していきます
7.
LINQ to Objectsの使用例
8.
条件を満たす要素の数を取得する 従来のコーディング // 兵士の数を取得します var result
= 0; foreach (var character in characters) { if (character.Job == "Soldier") { result++; } }
9.
条件を満たす要素の数を取得する Countメソッドを使用 // 兵士の数を取得します var result
= characters.Count(c => c.Job == "Soldier");
10.
条件を満たす要素を抽出する 従来のコーディング // 兵士のみ取得します var result
= new List<Character>(); foreach (var character in characters) { if (character.Job == "Soldier") { result.Add(character); } }
11.
条件を満たす要素を抽出する Whereメソッドを使用 // 兵士のみ取得します var result
= characters.Where(c => c.Job == "Soldier");
12.
要素を射影する 従来のコーディング // すべてのキャラクターから名前だけ取得します var result
= new List<string>(); foreach (var character in characters) { result.Add(character.Name); }
13.
要素を射影する Selectメソッドを使用 // すべてのキャラクターから名前だけ取得します var result
= characters.Select(c => c.Name);
14.
すべての要素が条件を満たしているか 従来のコーディング // 全員が兵士かどうかを判断します var result
= true; foreach (var character in characters) { if (character.Job != "Soldier") { result = false; break; } }
15.
すべての要素が条件を満たしているか Allメソッドを使用 // 全員が兵士かどうかを判断します var result
= characters.All(c => c.Job == "Soldier");
16.
いずれかの要素が条件を満たしているか 従来のコーディング // 兵士が存在するかどうかを取得します var result
= false; foreach (var character in characters) { if (character.Job == "Soldier") { result = true; break; } }
17.
いずれかの要素が条件を満たしているか Anyメソッドを使用 // 兵士が存在するかどうかを取得します var result
= characters.Any(c => c.Job == "Soldier");
18.
条件を満たす最初の要素を取得する 従来のコーディング // 先頭の兵士を取得します Character result
= null; foreach (var character in characters) { if (character.Job == "Soldier") { result = character; break; } }
19.
条件を満たす最初の要素を取得する Firstメソッドを使用 (条件を満たす要素がない場合は例外になります) // 先頭の兵士を取得します var result
= characters.First(c => c.Job == "Soldier");
20.
条件を満たす最初の要素を取得する FirstOrDefaultメソッドを使用 (条件を満たす要素がない場合は既定値を返します) // 先頭の兵士を取得します var result
= characters.FirstOrDefault(c => c.Job == "Soldier");
21.
条件を満たす最後の要素を取得する 従来のコーディング // 末尾の兵士を取得します Character result
= null; for (int i = characters.Length - 1; i >= 0; i--) { if (characters[i].Job == "Soldier") { result = characters[i]; break; } }
22.
条件を満たす最後の要素を取得する Lastメソッドを使用 (条件を満たす要素がない場合は例外になります) // 末尾の兵士を取得します var result
= characters.Last(c => c.Job == "Soldier");
23.
条件を満たす最後の要素を取得する LastOrDefaultメソッドを使用 (条件を満たす要素がない場合は既定値を返します) // 末尾の兵士を取得します var result
= characters.LastOrDefault(c => c.Job == "Soldier");
24.
最後の要素を取得する 従来のコーディング var result =
characters[characters.Length - 1]; Lastメソッドを使用 var result = characters.Last();
25.
最大値を取得する 従来のコーディング // すべてのキャラクターの中で // 最も大きな力のパラメータを取得します var
result = 0; foreach (var character in characters) { if (result < character.Power) { result = character.Power; } }
26.
最大値を取得する Maxメソッドを使用 // すべてのキャラクターの中で // 最も大きな力のパラメータを取得します var
result = characters.Max(c => c.Power);
27.
最小値を取得する 従来のコーディング // すべてのキャラクターの中で // 最も小さな力のパラメータを取得します var
result = int.MaxValue; foreach (var character in characters) { if (character.Power < result) { result = character.Power; } }
28.
最小値を取得する Minメソッドを使用 // すべてのキャラクターの中で // 最も小さな力のパラメータを取得します var
result = characters.Min(c => c.Power);
29.
最大値を持つ要素を取得する MaxメソッドとFirstメソッドを使用 // 最も大きな力を持つキャラクターを取得します int max
= characters.Max(c => c.Power); var result = characters.First(c => c.Power == max);
30.
最大値を持つ要素をすべて取得する MaxメソッドとWhereメソッドを使用 // 最も大きな力を持つキャラクターをすべて取得します int max
= characters.Max(c => c.Power); var result = characters.Where(c => c.Power == max);
31.
合計値を取得する 従来のコーディング // アイテムの購入金額を取得します var result
= 0; foreach (var item in items) { result += item.Price; }
32.
合計値を取得する Sumメソッドを使用 // アイテムの購入金額を取得します var result
= items.Sum(c => c.Price);
33.
平均値を取得する 従来のコーディング // アイテムの平均金額を取得します var result
= 0; foreach (var item in items) { result += item.Price; } result /= items.Count;
34.
平均値を取得する Averageメソッドを使用 // アイテムの平均金額を取得します var result
= items.Average(c => c.Price);
35.
指定された型に一致する要素を抽出する 従来のコーディング // 錬金術士のみ錬金術を使います foreach (var
character in characters) { var result = character as Alchemist; if (result != null) { result.Alchemy(); } }
36.
指定された型に一致する要素を抽出する OfTypeメソッドを使用 // 錬金術士のみ錬金術を使います foreach (var
result in characters.OfType<Alchemist>()) { result.Alchemy(); }
37.
配列を規定値で初期化する 従来のコーディング // すべてのフラグをONで初期化します bool[] flags
= new bool[100]; for (int i = 0; i < flags.Length; i++) { flags[i] = true; }
38.
配列を規定値で初期化する Repeatメソッドを使用 // すべてのフラグをONで初期化します bool[] flags
= Enumerable.Repeat(true, 100).ToArray();
39.
指定された数の要素を取得する 従来のコーディング //最新の10件のプレゼントの一覧を取得します var result =
new List<Present>(); for (int i = 0; i < 10; i++) { result.Add(presents[i]); }
40.
指定された数の要素を取得する Takeメソッドを使用 //最新の10件のプレゼントの一覧を取得します var result =
presents.Take(10);
41.
指定された数の要素を読み飛ばす 従来のコーディング // 11件目以降のプレゼントの一覧を取得します var result
= new List<Present>(); for (int i = 10; i < presents.Length; i++) { result.Add(presents[i]); }
42.
指定された数の要素を読み飛ばす Skipメソッドを使用 // 11件目以降のプレゼントの一覧を取得します var result
= presents.Skip(10);
43.
ページャーの機能を実装する SkipメソッドとTakeメソッドを使用 // 指定されたページに表示する // プレゼントの一覧を取得します var
result = presents.Skip(page * 10).Take(10);
44.
昇順にソートする OrderByメソッドを使用 // 価格が安い順にアイテムを取得します var result
= items.OrderBy(c => c.Price);
45.
降順にソートする OrderByDescendingメソッドを使用 // 価格が安い順にアイテムを取得します var result
= items.OrderByDescending(c => c.Price);
46.
逆順にする Reverseメソッドを使用 // アイテムの順番を逆転させます var result
= items.Reverse();
47.
重複を取り除く Distinctメソッドを使用 // 名前の重複を取り除きます var result
= names.Distinct();
48.
まとめ
49.
LINQ to Objectsを使用すると… ソースコードを簡潔に記述できます •
for文が減る • foreach文が減る • if文が減る • 変数が減る
50.
ありがとうございました
Descargar ahora