Добрый день, подскажите как можно задать кол-во элементов массива из TextBox?
Должно получится что-то типа:
string[] myArr = new string[TextBox.Text];
Выдает ошибку что не может преобразовать string в int
Или может быть подскажите другой способ, мне нужно чтобы исходя из числа введенного в TextBox добавлялись записи в ListBox.
Правильно!
Text- это string.
Сделайте int32.Parse(TextBox.Text) и будет вам счастье.
Свойство Text элемента TextBox Возвращает или задает текстовое содержимое текстового поля (string).
Для создания массива заданной длины необходимо воспользоваться следующей конструкцией:
type[] array = new type[N];
где
В конкретно этом случае вы передаете тип string.
string[] myArr = new string[TextBox.Text];
Для решения проблемы, необходимо привести содержимое TextBox.Text к целочисленному типу.
Приведу пример преобразования. Данный пример учитывает, что в TextBox.Text введены корректные данные.
n = int.Parse(TextBox.Text);
Альтернативный способ для случая, если вы пользуетесь MVVM — привязать TextBox к целочисленному свойству.
class VM : INotifyPropertyChanged
{
int n;
public int N
{
get { return n; }
set { if (n != value) { n = value; NotifyPropertyChanged(); } }
}
// ...
void OnUserAction
{
string[] myArr = new string[N];
// ...
}
}
Соответственно в XAML делаете привязку:
<TextBox Text="{Binding N}" ... />
(Разумеется, тут ещё нужны проверки, без них никуда.)
Сборка персонального компьютера от Artline: умный выбор для современных пользователей