C# 从特定位置到末尾读取文本文件数据

C# 从特定位置到末尾读取文本文件数据,c#,C#,我试图从一个特定的位置到另一个位置读取文本文件数据。我有一个像5号和18号这样的起始位置 我正在阅读我的文本文件,如下所示。 12341213 string[] lines = File.ReadAllLines(@"D:\TXTFILE.txt"); var a = lines[0].Substring(5, 18); // 1234 12134 但我得到的错误如下: 索引和长度必须引用字符串中的位置 从5到18个数据在开始和结束处具有空格字符 请让我知道如何修复此bcz我不想修

我试图从一个特定的位置到另一个位置读取文本文件数据。我有一个像5号和18号这样的起始位置 我正在阅读我的文本文件,如下所示。 12341213

string[] lines = File.ReadAllLines(@"D:\TXTFILE.txt");
var a = lines[0].Substring(5, 18);  // 1234      12134
但我得到的错误如下:

索引和长度必须引用字符串中的位置

从5到18个数据在开始和结束处具有空格字符

请让我知道如何修复此bcz我不想修剪这些空白

   public string Substring(
        int startIndex,
        int length
    )
从此实例检索子字符串。子字符串从指定的字符位置开始,并具有指定的长度

18不是你的长度,你可能在寻找18-5=13。 由于您的字符串没有您想象的那么长(18+5=23个字符),因此出现了异常情况。

在你的情况下,你在这里输入的字符串只有16个字符长,所以我不知道你在这里试图实现什么

例如:

string str = 'testing this';
string newStr = str.SubString(0,2); //  'te'
string newStr2 = str.SubString(1,4); //  'esti'

当您尝试获取子字符串
开始索引5
时,该行必须至少包含
23个
字符,并且第5个索引旁边的
长度为18个

string[] lines = File.ReadAllLines(@"D:\TXTFILE.txt");

foreach(string line in lines)
{
      if(line.Length >= 23)
      {
          var a = line.Substring(5, 18);
      }
}

您要读取的特定起始位置和结束位置是指文件还是指文件中的每一行?