7. LINQ for C# の例
var customers = new [] {
new { id = 2, firstName = "Steve", lastName = "Jobs" },
new { id = 3, firstName = "Richard", lastName = "Stallman" },
new { id = 1, firstName = "Bill", lastName = "Gates" },
new { id = 4, firstName = "Linus", lastName = "Torvalds" }
};
var result =
from c in customers
where c.id <= 2
orderby c.id
select c.firstName;
foreach (var name in result) System.Console.WriteLine(name);
←この辺が LINQ
Bill
Steve
9. 導入方法
・LINQ for C++ のページにアクセス。
(URL https://cpplinq.codeplex.com/)
・Downloads から cpplinq.hpp をダウンロード。
・cpplinq.hpp を #include する。
なんか NuGet 経由で取得する事も出来るらしいですよ。
10. LINQ for C++ の使い方
使い方を把握する為に、
先程の LINQ の説明で登場した
C# での例と同等のものを書いてみて、
比較してみましょう。
※ 一部省略されていますが、そこはエスパーしてください。
11. LINQ for C# の例(再掲)
var customers = new [] {
new { id = 2, firstName = "Steve", lastName = "Jobs" },
new { id = 3, firstName = "Richard", lastName = "Stallman" },
new { id = 1, firstName = "Bill", lastName = "Gates" },
new { id = 4, firstName = "Linus", lastName = "Torvalds" }
};
var result =
from c in customers
where c.id <= 2
orderby c.id
select c.firstName;
foreach (var name in result) System.Console.WriteLine(name);
←この辺が LINQ
Bill
Steve
12. LINQ for C++ の例 1
using namespace cpplinq;
std::vector<customer> customers = {
{ 2, "Steve", "Jobs" },
{ 3, "Richard", "Stallman" },
{ 1, "Bill", "Gates" },
{ 4, "Linus", "Torvalds" },
};
auto result =
from(customers)
>> where ([](customer const& c) { return c.id <= 2; })
>> orderby ([](customer const& c) { return c.id; })
>> select ([](customer const& c) { return c.first_name; })
>> to_vector();
for (auto name : result) cout << name << endl;
Bill
Steve
この辺が LINQ for C++
↓