2016-07-27 1 views
1

私は次の2つの機能を持っています。どのような配列を受け入れて文字列に変換できるように一般的な方法がありますか?例えばこれらの2つの関数のいずれかからジェネリック関数を作成する方法はありますか? (汎用配列から文字列へ)

public static string PointArrayToString(Point[] array) => string.Join(" ", array); 
public static string PointArrayToString(string[,] array) => string.Join(" ", array); 

...

public static string PointArrayToString(T[] array) => string.Join(" ", array); 

答えて

7

あなたはほとんどあります

public static string PointArrayToString<T>(T[] array) => string.Join(" ", array); 

とテストのために:

List<string> list1 = new List<string> { "1", "2", "3", "4" }; 
List<int> list2 = new List<int> { 1, 2, 3, 4 }; 
string[,] collection3 = new string[,] { { "a", "b" }, { "a", "c" } }; 

var result1 = PointArrayToString(list1.ToArray()); 
var result2 = PointArrayToString(list2.ToArray()); 
var result3 = PointArrayToString(collection3.Cast<string>().ToArray()); 

あなたが変換するような気がしない場合ToArray毎回:

public static string PointArrayToString<T>(IEnumerable<T> array) => string.Join(" ", array); 
関連する問題