概念:「クエリ」はまた、所与の1つまたは複数のデータ・ソースからデータを取得するために使用できる命令のコマンドセットであり、命令の形式で結果を返します。LINQのは、また、クエリで強力かつ便利な検索機能は、プログラミング言語であり、その一つに結合し提供することができます。
それは簡単で便利なコードの量でのLINQの力。例えば、要素の属性のリストをフィルタリングするために、リストへの相対は、判決を横断します。しかし、あなたは唯一のLINQ文を使用する必要があります。しかし、それはまた、人々がトラブルプロジェクトの維持を起こすよりも、後者につながる、いくつかの問題を引き起こす可能性があります(どのように最善のことああ、両刃の剣笑)
From:句照会データ・ソース(ループ等価用)
ここで、句フィルタ要素は、(場合に相当する)指定された条件を満足します
ORDERBY:式(ソート昇順、降順に相当...)
選択:句は、クエリ結果のフォームを開発し、(等価戻ります)
問題を説明するために、次のコードを使用します。
// LINQのクエリステートメント
INT []番号= {12、23、34、45、56、67}。
数の= NUMからのvar numQuery
NUM%2 == 0
上昇ORDERBYのNUM昇順//升序(可省略)
を選択NUM。
foreachの(VAR N numQueryで)
{
Console.WriteLineを(N)。
}
// LINQのメソッドステートメント
VAR numMethod = numbers.Where(N => N%2 == 0).OrderBy(N => N)。
foreachの(VAR N numMethodで)
{
Console.WriteLineを(N)。
}
注意:二つの文の間に上記のコード量の差は、それぞれのロジックを分離する少し大きい、クエリ、達成するためのライン上のすべての論理方式の濃縮物です。
キーワードを聞かせて
キーワードに// LINQの
一覧<Peoの> peoList =新しいリスト<Peoの>();
peoList.Add(新しいPeoを(){NAME = "荔枝"、都市= "上海"})。
peoList.Add(新しいPeoを(){NAME = "linqingxia"、都市= "北京"})。
peoList.Add(新しいPeoを(){NAME = "liuyifei"、都市= "上海"})。
VAR intoLinq = peoListの中NUMから
groupnumのにnum.cityによるグループNUM
groupnum.Count()> = 2
新しい選択{都市= groupnum.Keyを、数= groupnum.Count()}。
foreachの(intoLinqでVAR I)
{
Console.WriteLineを(i.city + "---" + i.number)。
}
上記の例:文字通り「駆動」を意味するに、上記の例は都市特性にスクリーニングNUMのproList得groupnumのを横断する、本明細書groupnamコレクションは、都市のプロパティに格納され、集合として考えることができます。
// LINQのキーワードをしましょう
文字列は、[]の文字列= { "Hello World"の、 "林青夏"、 "王ZUの西安"}。
文字列中のSからのvar STRSの=は
言葉= s.Split(」「)聞かせて
の言葉で言葉からは、
()= word.ToUpper wを聞かせ
ワット選択します。
foreachの(STRSにおけるVAR秒)
{
Console.WriteLineを(S)。
}
上記の例は:、言葉もここで考慮することができる単語に格納された処理要素トラバーサル、その結果(ちょっと自分の特定のを発見し、それを理解することができる)のコレクションであります