この記事は機械翻訳されたものです。 記事の文章にポインターを重ねると、原文のテキストが表示されます。 詳細情報
訳文
原文
情報
要求されたトピックは次のとおりです。しかし、このトピックはこのライブラリには含まれていません。

Enumerable.Concat<TSource> メソッド

2 つのシーケンスを連結します。

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

public static IEnumerable<TSource> Concat<TSource>(
	this IEnumerable<TSource> first,
	IEnumerable<TSource> second
)

型パラメーター

TSource

入力シーケンスの要素の型。

パラメーター

first
型 : System.Collections.Generic.IEnumerable<TSource>
連結する最初のシーケンス。
second
型 : System.Collections.Generic.IEnumerable<TSource>
最初のシーケンスに連結するシーケンス。

戻り値

型 : System.Collections.Generic.IEnumerable<TSource>
2 つの入力シーケンスの連結された要素が格納されている IEnumerable<T>

使用上の注意

Visual Basic および Visual C# では、このメソッドを、IEnumerable<TSource> 型のオブジェクトのインスタンス メソッドとして呼び出すことができます。インスタンス メソッド構文を使用してこのメソッドを呼び出す場合は、最初のパラメーターを省略します。詳細については、「拡張メソッド (Visual Basic)」または「拡張メソッド (C# プログラミング ガイド)」を参照してください。

例外条件
ArgumentNullException

first または secondnull です。

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

Concat<TSource>(IEnumerable<TSource>, IEnumerable<TSource>) メソッドは Union メソッドと異なります。Concat<TSource>(IEnumerable<TSource>, IEnumerable<TSource>) メソッドは、入力シーケンス内の元の要素をすべて返します。 Union メソッドは、一意の要素だけを返します。

Concat<TSource>(IEnumerable<TSource>, IEnumerable<TSource>) を使用して 2 つのシーケンスを連結する方法を次のコード例に示します。


            class Pet
            {
                public string Name { get; set; }
                public int Age { get; set; }
            }

            static Pet[] GetCats()
            {
                Pet[] cats = { new Pet { Name="Barley", Age=8 },
                               new Pet { Name="Boots", Age=4 },
                               new Pet { Name="Whiskers", Age=1 } };
                return cats;
            }

            static Pet[] GetDogs()
            {
                Pet[] dogs = { new Pet { Name="Bounder", Age=3 },
                               new Pet { Name="Snoopy", Age=14 },
                               new Pet { Name="Fido", Age=9 } };
                return dogs;
            }

            public static void ConcatEx1()
            {
                Pet[] cats = GetCats();
                Pet[] dogs = GetDogs();

                IEnumerable<string> query =
                    cats.Select(cat => cat.Name).Concat(dogs.Select(dog => dog.Name));

                foreach (string name in query)
                {
                    Console.WriteLine(name);
                }
            }

            // This code produces the following output:
            //
            // Barley
            // Boots
            // Whiskers
            // Bounder
            // Snoopy
            // Fido



2 つのシーケンスを連結するもう 1 つの方法では、シーケンスのコレクション (配列など) を構築して SelectMany メソッドを適用し、それに ID セレクター関数を渡します。 この SelectMany を使用する例を次に示します。


                Pet[] cats = GetCats();
                Pet[] dogs = GetDogs();

                IEnumerable<string> query =
                    new[] { cats.Select(cat => cat.Name), dogs.Select(dog => dog.Name) }
                    .SelectMany(name => name);

                foreach (string name in query)
                {
                    Console.WriteLine(name);
                }

                // This code produces the following output:
                //
                // Barley
                // Boots
                // Whiskers
                // Bounder
                // Snoopy
                // Fido



.NET Framework

サポート対象 : 4.5.2、4.5.1、4.5、4、3.5

.NET Framework Client Profile

サポート対象 : 4、3.5 SP1

汎用性のあるクラス ライブラリ

サポート対象 : 汎用性のあるクラス ライブラリ

Windows ストア アプリ用 .NET

サポート対象 : Windows 8

Windows Phone アプリ用 .NET

サポート対象 : Windows Phone 8、Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (サーバー コア ロールはサポート対象外), Windows Server 2008 R2 (SP1 以降でサーバー コア ロールをサポート。Itanium はサポート対象外)

.NET Framework では、各プラットフォームのすべてのバージョンはサポートしていません。サポートされているバージョンについては、「.NET Framework システム要件」を参照してください。

コミュニティの追加

表示:
© 2015 Microsoft