join()
в Perl:
use List::Util qw(reduce);
sub mjoin($@) {$sep = shift; reduce {$a.$sep.$b} @_ or ''}
say mjoin(', ', qw(Alpha Beta Gamma));
# Alpha, Beta, Gamma
Или без reduce
:
sub mjoin($@)
{
my ($sep, $sum) = (shift, shift);
$sum .= $sep.$_ for (@_);
$sum or ''
}
Добавьте свойство, подобное этому, для хранения списка компонентов:
[XmlArray()]
public List<Component> Components { get; set; }
Редактировать: Извините, я неправильно это прочитал. Вы хотите прочитать это в виде набора строк. Я просто попробовал это ниже, и это сработало на вашем образце. Ключ - просто установить правильные атрибуты сериализации xml.
public class ArsAction
{
[XmlArray]
[XmlArrayItem(ElementName="Component")]
public List<string> Components { get; set; }
}