#c# #multidimensional-array
#c# #многомерный массив
Вопрос:
Я хотел бы проверить многомерный массив, если он содержит значение. Тогда я хотел бы заполнить их значением. Но по одной причине, потому что я еще не обнаружил, он не хочет заполнять значение. Я новичок. Не ожидайте слишком многого…
переключатель (меню выбора) -> случай 1
string[,] kontodaten = new string[10, 4];
....
switch (menuChoose)
{
case 1:
bool eingabe = true;
for (int i = 0; i <= 9; i )
{
if (kontodaten[i, 0] == null || kontodaten[i, 1].Length == 0)
{
row = i;
i = 9;
}
}
while (eingabe == true)
{
try
{
Console.WriteLine("Bitte geben Sie ihren Vornamen ein: ");
kontodaten[row, 0] = Console.ReadLine();
Console.WriteLine("Bitte geben Sie ihren Nachnamen ein: ");
kontodaten[row, 1] = Console.ReadLine();
Console.WriteLine("Bitte geben Sie ihren PIN ein: ");
kontodaten[row, 2] = Console.ReadLine();
eingabe = false;
}
catch
{
Console.WriteLine("natFEHLER: Eingabe ungültig");
}
}
break;
case 10:
for (int j = 0; j <= 9; j )
{
Console.WriteLine("Vorname:{0};Nachname:{1};PIN:{2};Kontostand:{3} -- {4}", kontodaten[j, 0], kontodaten[j, 1], kontodaten[j, 2], kontodaten[j, 3], j);
}
break;
}
Комментарии:
1. Независимо от того, работает это или нет, решение не является оптимальным. Насколько я вижу, вы хотите иметь возможность хранить данные учетной записи до 10 человек. Что, если вы хотите сохранить 11 однажды? Удалить один в середине? … Также ваши 4 поля для каждой записи. Что, если вы также хотите сохранить адрес? Вам всегда нужно менять всю программу и иметь хороший шанс что-то сломать. Я бы предложил использовать список<AccountData> . Вы можете просто добавлять, удалять, сортировать … вещи. И ваш AccountData — это класс со всеми необходимыми вам свойствами. Даже если вы новичок. Не изучайте тупик.
2. @Klamsi вау, ты больше отвечаешь на этот вопрос, чем я. Однако я не могу читать язык, так что это, вероятно, не поможет 🙂
Ответ №1:
Это похоже на какое-то упражнение по программированию, поэтому я не буду вдаваться в проблемы наличия массива с ограниченным размером.
Является ли kontodaten переменной класса или локальной переменной в вашем методе? Если это локальная переменная, вы повторно инициализируете ее заново при каждом вызове функции. Итак, когда вы сталкиваетесь с «случаем 10», у вас есть совершенно новый и пустой массив.
Попробуйте поместить его вне вашей функции с помощью модификатора доступа, подобного этому: private string[,] kontodaten = new string[10, 4];