どうも、ちょげ(@chogetarou)です。
Dictionary(連想配列)の値(Value)を重複なしで連結して、1つの文字列にする方法を紹介します。
方法

Dictionary(連想配列)の値(value)を重複なしで連結して1つの文字列に変換するには、String.Join()とDistinct()を使います。
まず、System.Linqを導入します。
using System.Linq;
String.Join()を呼び出します。
そして、String.Joinの第1引数に区切り文字、第2引数にDictionaryのValuesプロパティのDistinct()を指定します。
string values = String.Join("区切り文字", myDict.Values.Distinct());
上記のString.Join()は、Dictionaryの値を重複なしで結合した文字列を返します。
また、結合した文字列では、1つ1つの値がString.Join()の第1引数に指定した区切り文字で区切られます。
使用例
using System;
using System.Collections.Generic;
using System.Linq;
public class Example
{
public static void Main()
{
Dictionary<string, int> numbers = new Dictionary<string, int>()
{
{ "one", 1 },
{ "two", 2 },
{ "three", 3 },
{ "first", 1 },
{ "four", 4 },
{ "five", 5 },
{ "壱", 1 },
};
string values = String.Join(",", numbers.Values.Distinct());
Console.WriteLine(values); //1,2,3,4,5
}
}
コメント