Ответ 1
Если вы работаете со строками, String.Join, вероятно, вы ищете.
Хорошо, это тупое, что я уверен, что я делал десятки раз, но по какой-то причине я не могу его найти.
У меня есть массив... И хочу получить строку с содержимым этого массива, разделенной разделителем...
Где метод .Join(), который я не могу найти?
(Это .Net 2.0, у меня нет никакого материала LINQ)
Спасибо!
Если вы работаете со строками, String.Join, вероятно, вы ищете.
Он находится в строчном классе
String.Join(",", new string[] {"a", "b", "c"});
Изменить для ints в строку
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);
Вы можете использовать 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, извините.
Dim arrStrIds() As String = Array.ConvertAll(arrIntIds, New Converter(Of Integer, String)(
Function(id As Integer) id.ToString()) )
String.Join(",", arrStrIds)
Вы можете найти метод в String class.
Пример использования 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);
}
вам не нужно преобразовывать массив в массив строк в .NET Framework 4. Я не знаю о предыдущих Framework. поэтому предыдущий код тратит несколько строк, преобразующих ваш массив int в строковый массив. просто пропустите этот шаг (если он также работает в вашей Framework).
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
*/