C# これなら分かる Linq 基本編1. コレクションから選択

VisualStudio2016にて、新しくプロジェクトを作成します。
ウィンドウにボタンを一つ配置して、下記のコードを記載。

動作
配列 numbers の中から、条件に合う数値のみを抽出します。
抽出された数値をMessageBoxに表示していきます。

using System;
using System.Linq;
using System.Windows;
using System.Windows.Controls;
namespace Linq
{
    /// <summary>
    /// MainWindow.xaml の相互作用ロジック
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }

        private void Linq1_Click(object sender, RoutedEventArgs e)
        {
            //int配列 numbersを作ります
            int[] numbers = { 1, 2, 3, 4, 5 };
            var q = from n in numbers where n >= 2 && n <= 4 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<T>インターフェイスを実装していれば、範囲変数の型は自明ですので(データソースがList<int>型なら範囲変数はint型)、範囲変数の型指定は省略できます

            //例 whereを入れなければ、numbersの中にあるすべてが表示される
            //var q = from n in numbers select n;
        }
    }
}