Submit Search
Upload
知って得するC# LINQ to Objects編
•
21 likes
•
12,912 views
Shota Baba
Follow
Technology
Report
Share
Report
Share
1 of 50
Download now
Download to read offline
Recommended
Pythonによる黒魔術入門
Pythonによる黒魔術入門
大樹 小倉
やはりお前らのMVCは間違っている
やはりお前らのMVCは間違っている
Koichi Tanaka
C#でわかる こわくないMonad
C#でわかる こわくないMonad
Kouji Matsui
初心者がRSA暗号を教わったら自力でCTFの問題が解けるようになった話
初心者がRSA暗号を教わったら自力でCTFの問題が解けるようになった話
mariydi1
Spring AMQP × RabbitMQ
Spring AMQP × RabbitMQ
Keisuke Nishitani
何となく勉強した気分になれるパーサ入門
何となく勉強した気分になれるパーサ入門
masayoshi takahashi
PEGで構文解析をする
PEGで構文解析をする
jiro4989
C++20 モジュールの概要 / Introduction to C++ modules (part 1)
C++20 モジュールの概要 / Introduction to C++ modules (part 1)
TetsuroMatsumura
Recommended
Pythonによる黒魔術入門
Pythonによる黒魔術入門
大樹 小倉
やはりお前らのMVCは間違っている
やはりお前らのMVCは間違っている
Koichi Tanaka
C#でわかる こわくないMonad
C#でわかる こわくないMonad
Kouji Matsui
初心者がRSA暗号を教わったら自力でCTFの問題が解けるようになった話
初心者がRSA暗号を教わったら自力でCTFの問題が解けるようになった話
mariydi1
Spring AMQP × RabbitMQ
Spring AMQP × RabbitMQ
Keisuke Nishitani
何となく勉強した気分になれるパーサ入門
何となく勉強した気分になれるパーサ入門
masayoshi takahashi
PEGで構文解析をする
PEGで構文解析をする
jiro4989
C++20 モジュールの概要 / Introduction to C++ modules (part 1)
C++20 モジュールの概要 / Introduction to C++ modules (part 1)
TetsuroMatsumura
C#/.NETがやっていること 第二版
C#/.NETがやっていること 第二版
信之 岩永
規格書で読むC++11のスレッド
規格書で読むC++11のスレッド
Kohsuke Yuasa
Map
Map
kikairoya
中3女子でもわかる constexpr
中3女子でもわかる constexpr
Genya Murakami
Jubatusのリアルタイム分散レコメンデーション@TokyoNLP#9
Jubatusのリアルタイム分散レコメンデーション@TokyoNLP#9
Yuya Unno
RSA暗号運用でやってはいけない n のこと #ssmjp
RSA暗号運用でやってはいけない n のこと #ssmjp
sonickun
実践的な設計って、なんだろう?
実践的な設計って、なんだろう?
増田 亨
デキるプログラマだけが知っているコードレビュー7つの秘訣
デキるプログラマだけが知っているコードレビュー7つの秘訣
Masahiro Nishimi
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
Kentaro Matsui
これからSpringを使う開発者が知っておくべきこと
これからSpringを使う開発者が知っておくべきこと
土岐 孝平
gRPC入門
gRPC入門
Kenjiro Kubota
Windowsフォームで大丈夫か?一番良いのを頼む。
Windowsフォームで大丈夫か?一番良いのを頼む。
Yuya Yamaki
Gocon2017:Goのロギング周りの考察
Gocon2017:Goのロギング周りの考察
貴仁 大和屋
WPF開発での陥りやすい罠
WPF開発での陥りやすい罠
Sho Okada
C++ マルチスレッド 入門
C++ マルチスレッド 入門
京大 マイコンクラブ
Joint Negative and Positive Learning for Noisy Labels
Joint Negative and Positive Learning for Noisy Labels
harmonylab
C++ マルチスレッドプログラミング
C++ マルチスレッドプログラミング
Kohsuke Yuasa
元OracleMasterPlatinumがCloudSpanner触ってみた
元OracleMasterPlatinumがCloudSpanner触ってみた
Kumano Ryo
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
Preferred Networks
SSII2021 [TS2] 深層強化学習 〜 強化学習の基礎から応用まで 〜
SSII2021 [TS2] 深層強化学習 〜 強化学習の基礎から応用まで 〜
SSII
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
More Related Content
What's hot
C#/.NETがやっていること 第二版
C#/.NETがやっていること 第二版
信之 岩永
規格書で読むC++11のスレッド
規格書で読むC++11のスレッド
Kohsuke Yuasa
Map
Map
kikairoya
中3女子でもわかる constexpr
中3女子でもわかる constexpr
Genya Murakami
Jubatusのリアルタイム分散レコメンデーション@TokyoNLP#9
Jubatusのリアルタイム分散レコメンデーション@TokyoNLP#9
Yuya Unno
RSA暗号運用でやってはいけない n のこと #ssmjp
RSA暗号運用でやってはいけない n のこと #ssmjp
sonickun
実践的な設計って、なんだろう?
実践的な設計って、なんだろう?
増田 亨
デキるプログラマだけが知っているコードレビュー7つの秘訣
デキるプログラマだけが知っているコードレビュー7つの秘訣
Masahiro Nishimi
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
Kentaro Matsui
これからSpringを使う開発者が知っておくべきこと
これからSpringを使う開発者が知っておくべきこと
土岐 孝平
gRPC入門
gRPC入門
Kenjiro Kubota
Windowsフォームで大丈夫か?一番良いのを頼む。
Windowsフォームで大丈夫か?一番良いのを頼む。
Yuya Yamaki
Gocon2017:Goのロギング周りの考察
Gocon2017:Goのロギング周りの考察
貴仁 大和屋
WPF開発での陥りやすい罠
WPF開発での陥りやすい罠
Sho Okada
C++ マルチスレッド 入門
C++ マルチスレッド 入門
京大 マイコンクラブ
Joint Negative and Positive Learning for Noisy Labels
Joint Negative and Positive Learning for Noisy Labels
harmonylab
C++ マルチスレッドプログラミング
C++ マルチスレッドプログラミング
Kohsuke Yuasa
元OracleMasterPlatinumがCloudSpanner触ってみた
元OracleMasterPlatinumがCloudSpanner触ってみた
Kumano Ryo
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
Preferred Networks
SSII2021 [TS2] 深層強化学習 〜 強化学習の基礎から応用まで 〜
SSII2021 [TS2] 深層強化学習 〜 強化学習の基礎から応用まで 〜
SSII
What's hot
(20)
C#/.NETがやっていること 第二版
C#/.NETがやっていること 第二版
規格書で読むC++11のスレッド
規格書で読むC++11のスレッド
Map
Map
中3女子でもわかる constexpr
中3女子でもわかる constexpr
Jubatusのリアルタイム分散レコメンデーション@TokyoNLP#9
Jubatusのリアルタイム分散レコメンデーション@TokyoNLP#9
RSA暗号運用でやってはいけない n のこと #ssmjp
RSA暗号運用でやってはいけない n のこと #ssmjp
実践的な設計って、なんだろう?
実践的な設計って、なんだろう?
デキるプログラマだけが知っているコードレビュー7つの秘訣
デキるプログラマだけが知っているコードレビュー7つの秘訣
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
これからSpringを使う開発者が知っておくべきこと
これからSpringを使う開発者が知っておくべきこと
gRPC入門
gRPC入門
Windowsフォームで大丈夫か?一番良いのを頼む。
Windowsフォームで大丈夫か?一番良いのを頼む。
Gocon2017:Goのロギング周りの考察
Gocon2017:Goのロギング周りの考察
WPF開発での陥りやすい罠
WPF開発での陥りやすい罠
C++ マルチスレッド 入門
C++ マルチスレッド 入門
Joint Negative and Positive Learning for Noisy Labels
Joint Negative and Positive Learning for Noisy Labels
C++ マルチスレッドプログラミング
C++ マルチスレッドプログラミング
元OracleMasterPlatinumがCloudSpanner触ってみた
元OracleMasterPlatinumがCloudSpanner触ってみた
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
SSII2021 [TS2] 深層強化学習 〜 強化学習の基礎から応用まで 〜
SSII2021 [TS2] 深層強化学習 〜 強化学習の基礎から応用まで 〜
Similar to 知って得する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 to 知って得する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
More from 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
More from Shota Baba
(6)
Unity で実装するエイジングテストのお話
Unity で実装するエイジングテストのお話
【Visual Studio】開発効率を上げる25個の拡張機能
【Visual Studio】開発効率を上げる25個の拡張機能
Unity エディタ拡張
Unity エディタ拡張
知って得するUnity エディタ拡張編
知って得するUnity エディタ拡張編
知って得するUnity
知って得するUnity
知って得するC#
知って得するC#
Recently uploaded
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
taisei2219
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
Toru Tamaki
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
Hiroki Ichikura
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
sugiuralab
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Yuma Ohgami
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
Toru Tamaki
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
iPride Co., Ltd.
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
Toru Tamaki
Recently uploaded
(8)
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
知って得する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.
ありがとうございました
Download now