Bagaimana cara mengisi array dari input pengguna C#?

Apa cara terbaik untuk mengisi larik dari input pengguna?

Apakah solusinya adalah menampilkan pesan prompt dan kemudian mendapatkan nilai dari pengguna?

Larutan

string []answer = new string[10];
for(int i = 0;i
Komentar (13)

Bisakah Anda sedikit memperjelas pertanyaannya? Apakah Anda mencoba untuk mendapatkan jumlah jawaban yang tetap dari pengguna? Tipe data apa yang Anda harapkan - teks, bilangan bulat, bilangan desimal floating-point? Itu membuat perbedaan besar.

Jika Anda menginginkan, misalnya, sebuah array bilangan bulat, Anda dapat meminta pengguna untuk memasukkannya dipisahkan oleh spasi atau koma, kemudian gunakan

string foo = Console.ReadLine();
string[] tokens = foo.Split(",");
List nums = new List();
int oneNum;
foreach(string s in tokens)
{
    if(Int32.TryParse(s, out oneNum))
        nums.Add(oneNum);
}

Tentu saja, Anda tidak harus melakukan langkah ekstra untuk mengubah ke ints, tetapi saya pikir mungkin membantu untuk menunjukkan bagaimana Anda akan melakukannya.

Komentar (2)

C# tidak memiliki kotak pesan yang akan mengumpulkan input, tetapi anda dapat menggunakan kotak input Visual Basic sebagai gantinya.

Jika anda menambahkan referensi ke "Microsoft Visual Basic .NET Runtime" dan kemudian masukkan:

using Microsoft.VisualBasic;

Anda dapat melakukan hal berikut:

List responses = new List();
string response = "";

while(!(response = Interaction.InputBox("Please enter your information",
                                        "Window Title",
                                        "Default Text",
                                        xPosition,
                                        yPosition)).equals(""))
{
   responses.Add(response);
}

responses.ToArray();
Komentar (1)