需要帮助阅读一些C#

时间:2014-10-17 06:42:10

标签: c#

代码是:

 private static void loadAccounts()
 {
    using (TextReader tr = new StreamReader("accounts.txt"))
    {
       string line = null;
       while ((line = tr.ReadLine()) != null)
       {
         String[] details = line.Split('\t');
         accounts.Add(details[0].Substring(6) +
                      ":" + details[1].Substring(10));
       }
    }
}

文本文件应包含什么/如何格式化contense。 我试过了: 用户名密码 用户名/ t密码

但得到错误

错误是:

  

System.ArgumentOutOfRangeException:startIndex不能大于字符串的长度。   在System.String.InternalSubStringWithChecks(Int32 startIndex,Int32 length,Boolean fAlwaysCopy)       在System.String.Substring(Int32 startIndex,Int32 length)       在System.String.Substring(Int32 startIndex)       在Test.Program.loadAccounts()中       c:\ Users \ Documents \ SharpDevelopProjects \ Test \ Test \ Program.cs:第148行       在Test.Program.Main(String [] args)中       c:\ Users \ Documents \ SharpDevelopProjects \ Test \ Test \ Program.cs:第26行

2 个答案:

答案 0 :(得分:0)

奇怪的代码。

此行在选项卡字符上分割文本文件中的一行,例如“用户名(想象一下这里的标签)密码”

 String[] details = line.Split('\t');

此行丢弃用户名元素的前6个字符(details [0]),添加冒号,丢弃密码元素的前10个字符(details [1])并将其连接成一个字符串。

 accounts.Add(details[0].Substring(6) + ":" + details[1].Substring(10));

答案 1 :(得分:0)

文本文件中的所有行都应该: 最小用户名长度= 6 最小密码长度= 10 我也会取代' \ t'喜欢' '或者' - '

  • MyNameIs-MyPasswordIsTheFollowing1
  • MyNameIs-MyPasswordIsTheFollowing2
  • MyNameIs-MyPasswordIsTheFollowing3
  • MyNameIs-MyPasswordIsTheFollowing4