Самый простой способ - немного изменить свое выражение.Сначала преобразуйте в List<int>
, затем добавьте элемент и затем преобразуйте в массив.
List<int> items = activeList.Split(',').Select(n => Convert.ToInt32(n)).ToList();
int itemToAdd = ddlDisabledTypes.SelectedValue.ToInt(0);
items.Add(itemToAdd);
// If you want to see it as an actual array you can still use ToArray
int[] itemsAsArray = items.ToArray();
На основании вашей последней строки, хотя кажется, что вы хотите вернуть всю информацию в виде значения string
.Если это так, то вы можете сделать следующее
var builder = new StringBuilder();
foreach (var item in items) {
if (builder.Length != 0) {
builder.Append(",");
}
builder.Append(item);
}
string finalList = builder.ToString();
Если общая цель состоит в том, чтобы просто добавить еще один элемент в конец строки, то гораздо эффективнее сделать это напрямую, вместо преобразования в int
коллекция, а затем обратно в строку.
int itemToAdd = ddlDisabledTypes.SelectedValue.ToInt(0);
string finalList = String.IsNullOrEmpty(activeList)
? itemToAdd.ToString()
: String.Format("{0},{1}", activeList, itemToAdd);