#c_sharp #wpf
Добрый день, подскажите как можно задать кол-во элементов массива из TextBox? Должно получится что-то типа: string[] myArr = new string[TextBox.Text]; Выдает ошибку что не может преобразовать string в int Или может быть подскажите другой способ, мне нужно чтобы исходя из числа введенного в TextBox добавлялись записи в ListBox.
Ответы
Ответ 1
Правильно! Text- это string. Сделайте int32.Parse(TextBox.Text) и будет вам счастье.Ответ 2
Свойство Text элемента TextBox Возвращает или задает текстовое содержимое текстового поля (string). Для создания массива заданной длины необходимо воспользоваться следующей конструкцией: type[] array = new type[N]; где type - тип переменных содержащихся в массиве. Элементы массива могут быть любых типов, включая тип массива; N - число элементов массива. Должно быть представлено целым положительным числом, включая 0. Таблицу целых типов, можно посмотреть на сайте MSDN В конкретно этом случае вы передаете тип string. string[] myArr = new string[TextBox.Text]; Для решения проблемы, необходимо привести содержимое TextBox.Text к целочисленному типу. Приведу пример преобразования. Данный пример учитывает, что в TextBox.Text введены корректные данные. n = int.Parse(TextBox.Text);Ответ 3
Альтернативный способ для случая, если вы пользуетесь 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 делаете привязку:(Разумеется, тут ещё нужны проверки, без них никуда.)
Комментариев нет:
Отправить комментарий