web-dev-qa-db-ja.com

Array.Join in .Net?

わかりました、これは私が何十回もやったと確信している愚かなことですが、何らかの理由で私はそれを見つけることができません。

配列があります...そして、その配列の内容が区切られた文字列を取得したい...

見つからない.Join()メソッドはどこにありますか?

(これは.Net 2.0であり、LINQのものはありません)

ありがとうございました!

28
Daniel Magliola

文字列を使用している場合は、 String.Join がおそらく探しているものです。

39
Craig

文字列クラスにあります

String.Join(",", new string[] {"a", "b", "c"});

文字列へのintの編集

 int[] integers = new int[] { 1,2,3,4,5 };
 String.Join(",", Array.ConvertAll<int, String>(integers, Convert.ToString));
27
Bob

stringsの配列がある場合は、 String.join(String, String[]) を呼び出すことができます。 stringsの配列がなくても使用できます。必要なのは、objectsstringsに変換できることだけです。

object[] objects = ...
string[] strings = new string[objects.Length];
for (int i = 0; i < objects.Length; i++)
  strings[i] = objects[i].ToString();
string value = String.Join(", ", strings);
4
Samuel
Dim arrStrIds() As String = Array.ConvertAll(arrIntIds, New Converter(Of Integer, String)(
 Function(id As Integer) id.ToString()) )

String.Join(",", arrStrIds)
3
user973754

LINQ to Objectsを使用して、数行節約できます

int [] ints = { 0, 1, 2 };
string[] intStrings = (from i in ints select i.ToString()).ToArray<string>();
string joinedStrings = string.Join(",", intStrings);

おっと、あなたがLINQを持っていないのを見ただけです、ごめんなさい。

2
Nick

メソッドは String class にあります。

分割と結合を使用した例:

 public static void Main() { 

    string str = "on two three, four five six."; 
    char[] separators = {' ', '.', ',' }; 

    // Split the string:
    string[] parts = str.Split(separators); 

    string allTogether = String.Join(" | ", parts); 

    Console.WriteLine("Joined: "); 
    Console.WriteLine(allTogether); 


  } 
1
splattne

.NET Framework 4では、配列を文字列配列に変換する必要はありません。以前のフレームワークについてはわかりません。したがって、前のコードは、int配列を文字列配列に変換するのに数行を費やします。そのステップをスキップするだけです(フレームワークでも機能する場合)。

string[] sA = "11,12,13".Split(',');
int[] iA = { 21, 22, 23};
Console.WriteLine(string.Join("+", iA) + " -- " + string.Join("+", sA));

/* displays:
21+22+23 -- 11+12+13
*/