繁体   English   中英

将文本文件中的行分配给字符串

[英]Assign line in text file to a string

我正在用C#进行一次简单的文本冒险,我想知道是否有可能从.txt文件中读取某些行并将它们分配给字符串。

我知道如何从.txt文件中读取所有文本,但是如何将某些行的内容分配给字符串呢?

您是否考虑过ReadAllLines方法?

它返回一个行数组,您可以从中选择所需的行。

因此,例如,如果您希望选择第三行(假设文件中有三行):

string[] lines = File.ReadAllLines(path);

string myThirdLine= lines[2];

File.ReadLines可能是最简单的(并且在内存消耗方面最便宜):

String stringAtLine10 = File.ReadLines(path).ElementAtOrDefault(9);

请注意,如果文件少于10行,则为null 请参阅: ElementAtOrDefault

它只是StreamReader的简洁版本和一个计数器变量,每行都会增加。

作为高级替代方案: ReadLines加上一些LINQ:

var lines = File.ReadLines(myFilePath).Where(MyCondition).ToArray();

其中MyCondition

bool MyCondition(string line)
{
   if (line == "something")
   {
       return true;
   }

   return false;
}

如果您不想立即加载所有行

using(StreamReader reader=new StreamReader(path))
{
String line;
while((line=reader.ReadLine())!=null)//process temp
}

这是一个示例,您如何将行分配给一个字符串,您无法通过字段确定哪一行是行,您必须自己选择它们。 这是您要分配的字符串行。 例如,您要第一行,将哪一行定义为1而不是零,您要第八行,将哪一行定义为八。

string getWord(int which)
{
    string readed = "";
    using (Systen.IO.StreamReader read = new System.IO.StreamReader("PATH HERE"))
    {
       readed = read.ReadToEnd(); 
    }
    string[] toReturn = readed.Split('\n');
    return toReturn[which - 1];
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM