わかりました、これは私が何十回もやったと確信している愚かなことですが、何らかの理由で私はそれを見つけることができません。
配列があります...そして、その配列の内容が区切られた文字列を取得したい...
見つからない.Join()メソッドはどこにありますか?
(これは.Net 2.0であり、LINQのものはありません)
ありがとうございました!
文字列を使用している場合は、 String.Join がおそらく探しているものです。
文字列クラスにあります
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));
strings
の配列がある場合は、 String.join(String, String[])
を呼び出すことができます。 strings
の配列がなくても使用できます。必要なのは、objects
をstrings
に変換できることだけです。
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);
Dim arrStrIds() As String = Array.ConvertAll(arrIntIds, New Converter(Of Integer, String)(
Function(id As Integer) id.ToString()) )
String.Join(",", arrStrIds)
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を持っていないのを見ただけです、ごめんなさい。
メソッドは 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);
}
.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
*/