1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
namespace YKWpfIntroduction.ConsoleApplication {
using System;
using System.Linq;
class Program {
static void Main(string[] args) {
var person = Enumerable.Range(0, 100).Select(x =>
{
var p = new Person();
p.SpeakingToMyself("私は Person " + x + " 号だ。");
return new {
index = x, person = p, };
}).Where(x => x.index < 30).Skip(20).Select(x => x.person).First();
Console.WriteLine(person.Statement);
Console.WriteLine("何かキーを押すと終了します。");
Console.ReadKey();
} } }
Range() メソッドで 100 個の整数を用意し、その整数を利用して Select() メソッドで Person クラスのコレクショ ンを生成しています。ただし、index プロパティと person プロパティを持つ匿名クラスをコレクションの要素としてま す。続いて Where() メソッドでコレクションの index プロパティの値が 30 未満のもののみを抽出し、Skip() メソッ ドで先頭 20 個の要素を除外しています。さらに Select() メソッドで匿名クラスの person プロパティのみを抽出し、
最後に First() メソッドでコレクションの最初の要素を取り出しています。最終的に 10 行目の変数 person の型は Person クラスになっています。
21 行目で得られた Person クラスの Statement プロパティを確認すると "私は Person 20 号だ。" と表示されてい ます。結局、先頭 20 個の要素を除外したときの先頭の要素、つまり 21 番目の Person クラスを抽出していることにな っています。
図 2.23:フィルタ条件を満たすものだけのコレクションとなっている
Enumerable クラスにはここで紹介した以外の拡張メソッドが多く用意されています。一度自分で調査して、ぜひマスタ
ーしてください。
3 MVVM パターンで学ぶ基礎
この章では Visual Studio で WPF アプリケーションを作成するためのプロジェクトを作成します。ここで作成するプロ ジェクトファイルは MVVM パターンにしたがって WPF アプリケーションを作成するときのテンプレート的なプロジェクト となるので必ず修得しましょう。
3.1 WPF アプリケーションプロジェクトを作成する
Visual Studio を起動後、「ファイル」→「新規作成」→「プロジェクト」を選択すると、次のようなダイアログが開き
ます。このダイアログの左側のツリーメニューから「Visual C#」を選択すると、真ん中のリストに「WPF アプリケーショ ン」という項目があるので、これを選択します。そして、ダイアログ下部でプロジェクト名、保存場所、ソリューション名 を指定して OK ボタンを押します。
図 3.1:新しいプロジェクトを追加する
ここではソリューション名とプロジェクト名を YKWpfIntroduction.Practices として WPF アプリケーションのプロ ジェクトを作成します。プロジェクトを作成すると、次のような画面になります。
図 3.2:WPF アプリケーションプロジェクト作成時の画面
① ソリューションエクスプローラーではソリューションに含まれるファイル群がツリー形式で表示されます。編集したい ソースファイルはここから選んでダブルクリックすると開くことができます。
② XAML デザイナーは、WPF の外観を定義する XAML(ザムル:Extensible Application Markup Language)ファイ ルを編集するときに表示されます。ツールボックスウィンドウからコントロールをドラッグ&ドロップすることでコントロ ールを配置することもできますが、③ XAML エディターを使用して XAML コードを直接入力することでもコントロールを配 置することができます。
①
②
③
せっかくですので、③ XAML デザイナーの 6 行目にコントロールを追加してみましょう。以下のコードのように TextBlock コントロールを配置してから F5 キーを押して実行してみましょう。