C#简单形式索引超出了数组的界限

C#简单形式索引超出了数组的界限,c#,arrays,forms,indexing,C#,Arrays,Forms,Indexing,我是一名编程专业的学生,决定做一个简单的程序来练习。 这是一个简单的表单,包含姓名、出生日期、地址等,并保存在一个文本文件中(我知道有更简单的方法,但我想学习所有这些方法,并从这个=)开始) 我有一个按钮可以按姓名搜索这个人是否已经被保存,如果是,它应该用数据填充表单 下面是一个如何保存的示例: 38b7aa1f-0afb-4fe5-a8f6-40fe953eb1ca;Cindy;22/07/2005;111.111.111-11;22.222.222-2;33333-333;Testes;21

我是一名编程专业的学生,决定做一个简单的程序来练习。 这是一个简单的表单,包含姓名、出生日期、地址等,并保存在一个文本文件中(我知道有更简单的方法,但我想学习所有这些方法,并从这个=)开始)

我有一个按钮可以按姓名搜索这个人是否已经被保存,如果是,它应该用数据填充表单

下面是一个如何保存的示例:

38b7aa1f-0afb-4fe5-a8f6-40fe953eb1ca;Cindy;22/07/2005;111.111.111-11;22.222.222-2;33333-333;Testes;2112;05;Testando;Testadora;SP;cindy@gmail.com;(44)44444-4444;(55)55555-5555;True;True;Rose;26/05/1950;666.666.666-66;77.777.777-7
因此,名称(Cindy)将位于数组的索引[1]中

问题是这个错误:索引超出了数组的边界 在这一行:if(linha[1]==txtboxNome.Text)

我在网上搜索过,有点了解这个问题,但仍然不知道如何解决它

有人能帮我吗? 如何正确加载表格

这是一张帮助你“看”节目的照片。不必担心布局,一些东西在运行时不透明度为0=)

提前感谢=)

这是您需要“逐步完成”应用程序的地方。在If语句上设置断点(F9):

  if (linha[1] == txtboxNome.Text)
                {
                    resultado = linha;
                    break;
                }
并将鼠标悬停在上面以查看linha数组中包含的值


最有可能的情况是,文件的第一行中有一个头,它没有被拆分。

附加一个调试器,并在异常发生时检查
lerPacientes
的值。显然
linha
中没有两个元素(您正在尝试访问第二个元素)。
linha
的运行时值是多少?下次是否可以尝试用英语编写代码,非西班牙语人士阅读西班牙语代码非常困难。或者ReadLine方法返回一个空字符串,可能是一个空行。
  if (linha[1] == txtboxNome.Text)
                {
                    resultado = linha;
                    break;
                }