2010-03-01 2 views

ответ

6
str = string.Join(",", arr.ToArray()); 

Если вам необходимо преобразовать список в строку [] до string.join вы можете сделать

Array.ConvertAll<int, string>(str.ToArray(), new Converter<int, string>(Convert.ToString)); 

Итак ...

str = string.Join(",", Array.ConvertAll<int, string>(str.ToArray(), new Converter<int, string>(Convert.ToString))); 
1

В ответ here вы можете попробовать:

Dim s As String = String.Join(",", TryCast(arr.ToArray(GetType(String)), String())) 

Надежда это помогает, если он делает, пожалуйста, голосуйте.

1

Вы можете просто добиться этого от GetType и Join Функции.

Dim S = YourArrayList.ToArray(Type.GetType("System.String")) 
MessageBox.Show(String.Join(",", S)) 

Другой способ заключается в использовании FOR EACH заявление для чтения и хранения каждого элемента массива по одному в строку с разделителями. (Но не рекомендуется)

Dim S as string = "" 
For Each item As String In YourArrayList 
    S &= item & ", " 
Next 
MessageBox.Show(S) 
+0

Как это отличается от принятого ответа два года назад или от @ Redips77? Передача имени типа в виде строки не является улучшением –

+0

Мой ответ показывает два пути, в которых это различие, и прошло два и четыре года, многие люди все еще ищут его и будут навсегда. Речь идет не о человеке. –

+1

Не сказал, что это - сказал, что это не улучшение. На самом деле второй следует избегать любой ценой, поскольку он создает ненужные временные строки, что приводит к сбору памяти и сборку мусора. Это действительно повредит производительность в серверных приложениях или при обработке больших массивов. Что касается первого способа, это хуже второго ответа, потому что вы передаете тип как строку, когда можете просто использовать 'typeof (String)'. –

Смежные вопросы