Хорошо, это глупость, которую, я уверен, я делал десятки раз, но по какой-то причине я не могу ее найти.
У меня есть массив ... И я хочу получить строку с содержимым этого массива, разделенным разделителями ...
Где находится метод .Join (), который я не могу найти?
(Это .Net 2.0, у меня нет ничего LINQ)
Спасибо!
Если вы работаете со строками, то String.Join , вероятно, то, что вы ищете.
Это строка класса
String.Join(",", new string[] {"a", "b", "c"});
Редактировать для строк в строку
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
strings
String.join(String, String[])
objects
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, извините.
вам не нужно преобразовывать массив в строковый массив в .NET Framework 4. Я не знаю о предыдущих Frameworks. поэтому предыдущий код тратит несколько строк, преобразовывая ваш массив 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 */
Вы можете найти метод в классе String .
Пример использования Split и Join:
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); }