У меня есть многомерный массив в текстовом файле:Поиск многомерный массив
a,1,2,3
b,4,5,6
c,7,8,9
d,10,11,12
Я хочу, чтобы ввести один из номеров, поиск массива, а также отображать соответствующее письмо для строки число появляется.
Любая помощь была бы принята с благодарностью.
Edit:
У меня есть файл CSV, содержащий информацию, приведенную выше.
До сих пор у меня есть:
1. Созданный массив для хранения прочитать все строки в файле
2. Создан второй массив для хранения конечного массива значений
3. Создан третьего массива для хранения линия разделяется на и возвращает значения во второй массив.
Это код:
string[] as_FirstArray = System.IO.File.ReadAllLines("PartNumbersFile.csv");
string[,] as_SecondArray = new string[4, as_FirstArray.Length];
string[] as_ThirdArray;
string s_Input = Console.ReadLine();
for (int i_Count1 = 0; i_Count1 < as_FirstArray.Length; i_Count1++)
{
as_ThirdArray = as_FirstArray[i_Count1].Split(',');
as_SecondArray[0, i_Count1] = as_ThirdArray[0];
as_SecondArray[1, i_Count1] = as_ThirdArray[1];
as_SecondArray[2, i_Count1] = as_ThirdArray[2];
as_SecondArray[3, i_Count1] = as_ThirdArray[3];
}
А теперь я полностью застрял. Мне сказали, что отсюда мне нужно:
1. используйте цикл for для индекса as_SecondArray [1] от первой строки до последней строки.
2. используйте оператор if, чтобы определить, найден ли userinput в индексе [1], и если да, сохраните номер счета цикла. (Здесь, если совпадения не найдено, я буду повторять для индекса [2] и снова, если совпадение не найдено, повторите для индекса [3].)
3. используйте другой для цикла и если инструкция по индексу [0] - сопоставить номер счета из найденного совпадения и отобразить соответствующую запись. (Я могу сделать этот шаг, но это безнадежно, не зная, как делать шаги 1 и 2.)
Я не могу указать конкретный индекс как цель цикла. Или где я помещаю цикл по отношению к циклу, который у меня уже есть - внутри него или нет.
Edit:
СПАСИБО КТО EDITED МОЙ ПОСТ И я теперь УДАЛИТЬ МОЙ ОТВЕТ :-)
После намного больше времени, я сделал небольшой прогресс. Я понял, как петля конкретный индекс и определить, если UserInput обнаружен в этом индексе:
for (int i_Count2 = 0; i_Count2 < as_SecondArray.GetLength(1); i_Count2++)
{
for (int i_Count3 = 0; i_Count3 < as_SecondArray.GetLength(0); i_Count3++)
{
if (as_SecondArray[1, i_Count3].Equals(s_Input))
{
s_Found = as_SecondArray[1, i_Count3];
}
else { lblOutput.Text = "not found"; }
}
}
Но я застрял на том, как получить номер цикла i_Count3.
Звучит как домашнее задание – ntohl
И я чувствую себя довольно хорошо прямо сейчас! У меня наконец есть рабочий код! Я хотел бы опубликовать код, если он может помочь кому-то другому, но я не хочу публиковать его в другом месте (опять же). Должен ли я a) опубликовать его в комментарии b) отредактировать или добавить исходное сообщение c) добавить ответ? Или d) не беспокоить вообще :-D – kiwichick