当前位置:  开发笔记 > 编程语言 > 正文

如何读取文本文件键值并将值分配给字符串变量?

如何解决《如何读取文本文件键值并将值分配给字符串变量?》经验,为你挑选了1个好方法。

我使用StreamWriter和在新类中创建了一个文本文件WriteLine.我构建的每一行都是这样的:

w.WriteLine("key2" + "=" + value2);
w.WriteLine("key1" + "=" + value1);

然后在form1 Load事件中:

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

现在我在索引0"key2 = value2"和索引1中的行"key1 = value1"现在我想将每个值分配给另一个字符串,例如:

string1赋值key1的key1和string2赋值key2的key2

有时可以更改行的顺序,文本文件中的第一行可以是value2和key2或value1和key1,但在所有情况下,我希望为字符串value1分配key1的value1,将字符串value2赋值为value2 key2

这次我手动构建了文本文件,没有keyvaluepair或类似的东西但是当读回来时我想读取左边​​的含义作为键,并且在=作为值之后.

但如果我在做:

string[] lines = File.ReadAllLines(Authentication.AuthenticationFileName);
for (int i = 0; i < lines.Length; i++)
{

}

我怎么知道总是按照我想要的顺序分配字符串无论文本文件中的行是否写入顺序?

我想知道如果我构建像键和值的文本文件它是如何工作的: key = value



1> Gary McGill..:

您可以构建一个按名称键入的值字典,以便更轻松地访问它们:

string[] lines = File.ReadAllLines(Authentication.AuthenticationFileName);

// Get the position of the = sign within each line
var pairs = lines.Select(l => new { Line = l, Pos = l.IndexOf("=") });

// Build a dictionary of key/value pairs by splitting the string at the = sign
var dictionary = pairs.ToDictionary(p => p.Line.Substring(0, p.Pos), p => p.Line.Substring(p.Pos + 1));

// Now you can retrieve values by key:
var value1 = dictionary["key1"];

推荐阅读
惬听风吟jyy_802
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有