C#の『Concat』の使い方が分からない…教えてください!
C#を学んでいるけど…
「Concatの使い方が分からない」
このような疑問を持っていませんか?
この記事では、LINQのひとつである『Concat』について現役エンジニアが分かりやすく解説します。
まだ、C#の開発環境構築が出来ていない方はこちらを参考にしてください。
Concatの使い方
Concatの使い方を解説する前に、Concatで何が出来るのかを把握しておきましょう。
Concat = 複数の配列を重複なく結合
このような考え方で問題ありません。Concatを使用すると指定した複数の配列を重複なく結合することが出来ます。
それでは、実際のコードを用いながらConcatの使い方を解説していきます。
まずは、Concatの使い方から説明します。Concatを使うときには以下のように記述します。
配列.Concat(配列)
実際のコードを用いながらConcatの使い方を解説していきます。
Concatを使ってシーケンスを出力するときには以下のように記述します。
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
namespace sample
{
class LinqConcat
{
private class OnePiece
{
public int Id { get; set; }
public string Name { get; set; }
public string Belong { get; set; }
}
static public void BlogLinqConcat()
{
// リストを宣言・初期化
List<OnePiece> StrawHatPirates = new List<OnePiece>
{
new OnePiece { Id = 0, Name = "モンキー・D・ルフィ", Belong = "麦わら海賊団" },
new OnePiece { Id = 1, Name = "ロロノア・ゾロ", Belong = "麦わら海賊団" },
new OnePiece { Id = 2, Name = "ナミ", Belong = "麦わら海賊団" },
new OnePiece { Id = 3, Name = "ウソップ", Belong = "麦わら海賊団" },
new OnePiece { Id = 4, Name = "ヴィンスモーク・サンジ", Belong = "麦わら海賊団" },
new OnePiece { Id = 5, Name = "トニートニー・チョッパー", Belong = "麦わら海賊団" },
new OnePiece { Id = 6, Name = "ニコ・ロビン", Belong = "麦わら海賊団" },
new OnePiece { Id = 7, Name = "フランキー", Belong = "麦わら海賊団" },
new OnePiece { Id = 8, Name = "ブルック", Belong = "麦わら海賊団" },
new OnePiece { Id = 9, Name = "ジンベエ", Belong = "麦わら海賊団" },
};
var onePiecesList = StrawHatPirates.Concat(StrawHatPirates);
// GroupByの実行結果を出力
foreach (var member in onePiecesList)
{
Console.WriteLine($"Id = {member.Id}, Name = {member.Name}, Belong = {member.Belong}");
}
}
}
}
サンプルコードを実行した際の出力結果は、以下のようになります。
Id = 0, Name = モンキー・D・ルフィ, Belong = 麦わら海賊団
Id = 1, Name = ロロノア・ゾロ, Belong = 麦わら海賊団
Id = 2, Name = ナミ, Belong = 麦わら海賊団
Id = 3, Name = ウソップ, Belong = 麦わら海賊団
Id = 4, Name = ヴィンスモーク・サンジ, Belong = 麦わら海賊団
Id = 5, Name = トニートニー・チョッパー, Belong = 麦わら海賊団
Id = 6, Name = ニコ・ロビン, Belong = 麦わら海賊団
Id = 7, Name = フランキー, Belong = 麦わら海賊団
Id = 8, Name = ブルック, Belong = 麦わら海賊団
Id = 9, Name = ジンベエ, Belong = 麦わら海賊団
Id = 0, Name = モンキー・D・ルフィ, Belong = 麦わら海賊団
Id = 1, Name = ロロノア・ゾロ, Belong = 麦わら海賊団
Id = 2, Name = ナミ, Belong = 麦わら海賊団
Id = 3, Name = ウソップ, Belong = 麦わら海賊団
Id = 4, Name = ヴィンスモーク・サンジ, Belong = 麦わら海賊団
Id = 5, Name = トニートニー・チョッパー, Belong = 麦わら海賊団
Id = 6, Name = ニコ・ロビン, Belong = 麦わら海賊団
Id = 7, Name = フランキー, Belong = 麦わら海賊団
Id = 8, Name = ブルック, Belong = 麦わら海賊団
Id = 9, Name = ジンベエ, Belong = 麦わら海賊団
サンプルコードを実行した際の出力結果は、以下のようになります。
配列.Concat(配列)
これを基にサンプルコードを解説すると、「配列 = onePiecesList」となります。
つまり、配列(StrawHatPirates)にConcatを適用し、配列(StrawHatPirates)を重複なく結合した結果をを出力(Console.WriteLine)するということです。
このようにして、C#では