2014-01-17 2 views
0

Yo,C#: Как проверить ввод пользовательской консоли на столбец в .csv?

Я довольно новыми для C# и я делаю консольного RPG игры небольшой текст, основанный только на практике, и мне было интересно, если есть в любом случае я мог бы сделать что-то похожее на это:

  • Запрашивать для имени
  • Запрашивать пароль
  • проверьте, является ли имя в колонке 1 файл .csv
  • Если да, то проверьте, если пароль в колонке 2 и в той же строке, что и наименование
  • Если все проверки, загружать значения из столбцов 3 и 4 в той же строке, имя и пароль в соответствующие ценности, как здоровье и уровень

Вот пример .csv, если я на самом деле не объяснить это хорошо:

"charactername", "password123", "health", "level" 
"Oswald", "498562a", "100", "4" 
"Hammerfist", "98457813", "77", "6" 

Так просто ради ясности, это то, что я имею в виду:

  • Введите ваше имя: Освальд
  • Введите пароль: 498562a
    • Программа читает через колонку 1 файла ищет «Освальд» и находит совпадение
    • программа проверяет, чтобы увидеть, если значение пароля в том же ряду, но в колонке 2 файл и проверяет, совпадает ли пользовательский ввод, он соответствует его
    • Программа загружает значение здоровья и уровня в переменные символах
  • вход Успешного

Есть ли способ сделать это? Могу ли я пропустить простое решение? Или я должен попробовать и пойти по-другому? Я просто не хочу жестко кодировать значения в словаре или списке или массиве или что-то еще. На этом этапе я тоже не ищу защиты, это просто для практики и развлечений.

Заранее благодарен! Дайте мне знать, если вам нужно лучше понять, что я пытаюсь сделать, и я попытаюсь объяснить все, что могу.

+0

Я не понимаю, что вы ищете, советуем, как проверить файл Csv/Excel или совет, если вы делаете это правильно? любая попытка? –

ответ

0

Есть два способа идти о чтения CSV

  1. Так же, как обычный текстовый файл, строка за строкой. Затем разобрать вашу строку в массив столбцов и получить ваши значения

  2. Использование Microsoft.ACE.OLEDB.version

    соединение OleDbConnection = новый OleDbConnection(); connection.ConnectionString = "Provider = Microsoft.ACE.OLEDB.12.0; Источник данных = C: \ Documents \ file.CSV; Extended Properties = \ "Текст, HDR = Yes; FORMAT = разделителями \". ";

Таким образом, вы можете загрузить DataTable на старте вашего приложения и запросить эту таблицу так же, как базы данных Sql

Извещение: HDR = Да означает, что первая строка является строкой заголовка

Смежные вопросы