この記事は機械翻訳されています。英語版の記事を表示するには、[英語] のチェック ボックスをオンにしてください。また、テキストにマウス ポインターを合わせると、ポップアップ ウィンドウに英語のテキストを表示することもできます。
翻訳
英語

Enumerable.Select<TSource, TResult> メソッド (IEnumerable<TSource>, Func<TSource, TResult>)

 

公開日: 2016年10月

シーケンスの各要素を新しいフォームに射影します。

名前空間:   System.Linq
アセンブリ:  System.Core (System.Core.dll 内)

public static IEnumerable<TResult> Select<TSource, TResult>(
	this IEnumerable<TSource> source,
	Func<TSource, TResult> selector
)

パラメーター

source
Type: System.Collections.Generic.IEnumerable<TSource>

変換関数を呼び出す対象となる値のシーケンス。

selector
Type: System.Func<TSource, TResult>

各要素に適用する変換関数。

戻り値

Type: System.Collections.Generic.IEnumerable<TResult>

IEnumerable<T> 方の各要素に対して変換関数の呼び出しの結果を要素 sourceします。

型パラメーター

TSource

要素の型 sourceします。

TResult

によって返される値の型 selectorします。

Exception Condition
ArgumentNullException

source または selectornull です。

このメソッドは遅延実行を使用して実装されます。 すぐに、値は、操作を実行するために必要なすべての情報を格納するオブジェクトを返します。 オブジェクトのいずれかを呼び出すことが列挙されるまで、このメソッドで表されるクエリは実行されません、 GetEnumerator メソッドを使用して直接または foreach で Visual C# または For Each で Visual Basicします。

この投影メソッドは変換関数を必要と selector, 、ソース シーケンス内の各値の 1 つの値を生成する sourceです。 場合 selector 、サブシーケンスを手動で走査するコンシューマーの責任です自体がコレクションの値を返します。 このような場合は、値の 1 つの結合されたシーケンスを返すようにクエリにとってより良い場合があります。 そのため、使用、 SelectMany<TSource, TResult> メソッドの代わりに Select<TSource, TResult>します。 SelectMany 同じように動作 Select, 、変換関数がによっては、展開し、コレクションを取得するには異なる SelectMany に返されます。

クエリ式の構文で、 select (Visual C#) または Select (Visual Basic) の呼び出しに変換される句 Selectします。

次のコード例では、使用して Select<TSource, TResult>(IEnumerable<TSource>, Func<TSource, TResult>) 値のシーケンスにわたるプロジェクトにします。

IEnumerable<int> squares =
    Enumerable.Range(1, 10).Select(x => x * x);

foreach (int num in squares)
{
    Console.WriteLine(num);
}
/*
 This code produces the following output:

 1
 4
 9
 16
 25
 36
 49
 64
 81
 100
*/

ユニバーサル Windows プラットフォーム
8 以降で使用可能
.NET Framework
3.5 以降で使用可能
ポータブル クラス ライブラリ
サポート対象: 移植可能 .NET プラットフォーム
Silverlight
2.0 以降で使用可能
Windows Phone Silverlight
7.0 以降で使用可能
Windows Phone
8.1 以降で使用可能
トップに戻る
表示: