读取文本文件的特定行[C#]

时间:2018-12-02 12:52:01

标签: c#

我正在尝试读取文本文件的内容。

并将其存储在字符串中。

示例:

文本文件包含:

Globalization = "0x000000"
HookWindow = "0x000000"
Blabla = "0x000000"
Etc = "0x000000"

我想将它们存储在字符串中,并能够例如在标签中检索该内容。

所以我可以说:

String Globalization = GlobalizationInTheTextFile;

并可以使用label.1.text = Globalization;

3 个答案:

答案 0 :(得分:3)

您可以这样做:

var dictionary = File.ReadAllLines(yourFilePath)
                    .Select(i => i.Split(new[] { " = \"" }, StringSplitOptions.RemoveEmptyEntries))
                    .ToDictionary(i => i[0], j => j[1].TrimEnd('\"'));

string globalization = dictionary["Globalization"];

假设您的文件的结构为key = "value",并且每个键值对都位于新行中,则可以通过value获取任何dictionary["key"]

希望这会有所帮助!

答案 1 :(得分:0)

您可以使用File.ReadAllLines静态方法将所有行存储在string[]数组中,然后使用LINQ方法获取以Globalization开头的特定行。

string Globalization = File.ReadAllLines("path")
  .Where(s => s.StartsWith("Globalization"))
  .First().Split('=')[1].Trim().Replace("\"", "");

答案 2 :(得分:0)

string globalizationPrefix = "Globalization = ";
string globalizationLine = File.ReadAllLines(filePath)
    .Where(l => l.StartsWith(globalizationPrefix ))
    .FirstOrDefault();

if(globalizationLine != null)
{
    int index = globalizationPrefix.Length;
    string globalizationValue = globalizationLine.Substring(index);
    label1.Text = globalizationValue;
}