#c# #arrays #random
#c# #массивы #Случайный
Вопрос:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace namegenerator1._2
{
public partial class Form1 : Form
{
string[] FirstNames = { "jan", "jaap", "sjuul", "koen" };
Random rand = new Random();
public Form1()
{
InitializeComponent();
}
private void btn_generate_Click(object sender, EventArgs e)
{
int indexFirstName = rand.Next(FirstNames.Length);
this.txtbox_FirstName.Text = FirstNames[indexFirstName];
}
}
}
Это в основном создает небольшое окно, которое генерирует случайные имена из массива. Мне нужно сделать так, чтобы, прежде чем пользователь доберется до этого, ему самому нужно было ввести кучу имен. Что я не знаю, как сделать.
Комментарии:
1. Рассмотрите возможность использования a
List<string>
, а не astring[]
. Списки растягиваются ; по мере добавления объектов (с использованиемAdd
метода) список становится длиннее. Когда вы создаете список, в нем нет элементов, каждый раз, когда вы вызываетеAdd
, количество элементов увеличивается на единицу2. Добавьте
TextBox
элемент управления в форму и сделайте его многострочным (установитеMultiline
значение true). Затем вы сможете использоватьtextBox.Text.Split('n')
в качестве источникаstring[]
Ответ №1:
Вы либо проверяете длину массива, чтобы увидеть, достаточно ли игр, либо используете список, как предложено.
Если массив.Длины недостаточно, либо используйте поле ввода, либо текстовое поле, чтобы запросить ввод пользователя.
Ввод будет отправлен в массив / список со списком.Добавьте или, переставив массив