Javaの場合、java.util.Arrays
クラスには、配列を取り、その文字列表現(つまり内容の文字列表現コンマで区切られた配列の全体と、大カッコで囲まれた表現全体(例: "[1、2、3]")。Javaのjava.util.Arrays.toString(...)メソッドに対応する.NET
.NETに相当するメソッド/機能はありますか?
私は手動で配列を反復処理するループ/メソッドを構築するために頼ることなく、これを行う方法を探しています。
Javaの場合、java.util.Arrays
クラスには、配列を取り、その文字列表現(つまり内容の文字列表現コンマで区切られた配列の全体と、大カッコで囲まれた表現全体(例: "[1、2、3]")。Javaのjava.util.Arrays.toString(...)メソッドに対応する.NET
.NETに相当するメソッド/機能はありますか?
私は手動で配列を反復処理するループ/メソッドを構築するために頼ることなく、これを行う方法を探しています。
String.Joinメソッド。
は
これを試してみてください[角カッコを自分で追加する必要があります]。それはNULL値を処理しませんが、値型と参照型に対して機能します。これは拡張メソッドなので、配列インスタンスの.ToElementString()を呼び出すことができます。ここで
public static string ToElementString<T>(this T[] array) {
var middle = array.Select(x => x.ToString().Aggregate((l,r) => l+","+r);
return "[" + middle + "]";
}
はビルダーを使用して、潜在的に(のみプロファイラは確かに知っている)、もう少し効率的になりますバージョンです。また、ヌル値も適切に処理されます。配列がすでに文字列型のとき
public static string ToElementString<T>(this T[] array) {
var builder = new StringBuilder();
builder.Append('[');
for(int i =0; i < array.Length; i++) {
if (i > 0) {
builder.Append(',');
}
builder.Append(array[i]);
}
builder.Append(']');
return builder.ToString();
}
このソリューションにのみ機能します。 – JaredPar
真。私はそれが頼まれていたものと仮定していた。 –
@Mitch、[1、2、3]の例に基づいて、私は彼がより一般的な解決策を探していると思っていました。しかし、彼はあなたのことを受け入れたので、私はそれを後ろに持っていました。 – JaredPar