Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#:如何对照.csv中的列检查用户控制台输入?_C#_Csv_File Io - Fatal编程技术网

C#:如何对照.csv中的列检查用户控制台输入?

C#:如何对照.csv中的列检查用户控制台输入?,c#,csv,file-io,C#,Csv,File Io,哟, 我是C#的新手,我正在制作一个基于文本的小型游戏机RPG游戏,只是为了练习,我想知道是否还有其他方法可以制作类似的东西: 询问用户姓名 询问用户密码 检查名称是否在.csv文件的第1列中 如果是,请检查密码是否在第2列中,是否与名称在同一行中 如果一切正常,则将第3列和第4列中的值加载到 将名称和密码转换为相应的值,如“运行状况”和“级别” 下面是一个.csv示例,如果我没有很好地解释它: "charactername", "password123", "health", "level

哟,

我是C#的新手,我正在制作一个基于文本的小型游戏机RPG游戏,只是为了练习,我想知道是否还有其他方法可以制作类似的东西:

  • 询问用户姓名
  • 询问用户密码
  • 检查名称是否在.csv文件的第1列中
  • 如果是,请检查密码是否在第2列中,是否与名称在同一行中
  • 如果一切正常,则将第3列和第4列中的值加载到 将名称和密码转换为相应的值,如“运行状况”和“级别”
下面是一个.csv示例,如果我没有很好地解释它:

"charactername", "password123", "health", "level"
"Oswald", "498562a", "100", "4"
"Hammerfist", "98457813", "77", "6"
因此,为了清楚起见,我的想法是:

  • 输入您的用户名:Oswald
  • 输入密码:498562a
    • 程序读取文件的第1列,查找“Oswald”,并找到匹配项
    • 然后程序检查密码值是否在同一行中,但在 并检查它是否与用户输入相匹配
    • 程序然后将运行状况和级别值加载到字符变量中
  • 入学成功
有办法做到这一点吗?我是否忽略了一个简单的解决方案?还是我应该试着用另一种方式去做?我只是不想将这些值硬编码到字典、列表、数组或其他任何东西中。我在这个阶段也不寻求安全感,只是为了练习和娱乐


提前谢谢!如果您需要更好地了解我要做的事情,请告诉我,我会尽力解释清楚。

阅读csv有两种方法

  • 就像标准文本文件一样,一行一行。然后将行解析为列数组并获取值

  • 使用Microsoft.ACE.OLEDB.version

    OleDbconnection connection=新的OleDbconnection(); connection.ConnectionString=“Provider=Microsoft.ACE.OLEDB.12.0;数据源=C:\Documents\file.csv;扩展属性=\”文本;HDR=是;格式=分隔的\“”

  • 通过这种方式,您可以在应用程序开始时加载
    DataTable
    ,并像查询Sql数据库一样查询此表


    注意:HDR=Yes表示第一行是标题行

    我不明白,您在找什么;建议如何对照Csv/Excel文件进行检查,或者建议是否正确?你有没有试过?