本ページは広告が含まれています。気になる広告をクリック頂けますと、サーバ運営費になります(^^
2. コレクションの並び替え
VisualStudio2016にて、新しくプロジェクトを作成します。
ウィンドウにボタンを一つ配置して、下記のコードを記載。
動作
配列 numbers の中から、条件に合う数値のみを抽出します。
抽出された数値を小さい順に並べ替えてMessageBoxに表示していきます。
using System; using System.Linq; using System.Windows; using System.Windows.Controls; namespace Linq { /// /// MainWindow.xaml の相互作用ロジック /// public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); } private void Linq2_Click(object sender, RoutedEventArgs e) { //int配列 numbersを作ります int[] numbers = { 5, 1, 3, 4, 2 }; var q = from n in numbers where n >= 2 && n <= 4 orderby n select n; //var q = from n in numbers select n; foreach (var n in q) MessageBox.Show(n.ToString()); //variant(多様、変異体、変わりやすい、などの意味があります)の先頭3文字でvarです。 //varは型ですが、初めて値を代入するときに厳密に型が決まる、暗黙の型です。 //nは範囲変数 //「範囲変数(range variable)」では、データソース内の各要素を入れる変数を指定します。データソースがIEnumerableインターフェイスを実装していれば、範囲変数の型は自明ですので(データソースがList型なら範囲変数はint型)、範囲変数の型指定は省略できます //例 whereを入れなければ、numbersの中にあるすべてが表示される //var q = from n in numbers select n; //これを試すと、whereが条件を表しているだけなのが良く分かります。 } } }