我有一些有很多字段的类;
public class CrowdedHouse
{
public int value1;
public float value2;
public Guid value3;
public string Value4;
// some more fields below
}
我的类必须(反)序列化为以下格式的简单 Windows 文本文件
NAME1=VALUE1
NAME2=VALUE2
在 .NET 中最方便的方法是什么?这是一个文本文件,所有值都必须首先转换为字符串。假设我已经将所有数据转换为字符串。
更新 一个选项是 pinvoke WritePrivateProfileString/WritePrivateProfileString 但是这些使用了我不需要使用的必需的“[Section]”字段。
最佳答案
编辑:如果您已经将每个数据值转换为字符串,只需在生成 Dictionary
后使用下面的方法对其进行序列化。这些值:
var dict = new Dictionary<string, string>
{
{ "value1", "value1value" },
{ "value2", "value2value" },
// etc
}
或使用 dict.Add(string key, string value)
.
要读取数据,只需围绕 =
拆分每一行并将结果存储为 Dictionary<string, string>
:
string[] lines = File.ReadAllLines("file.ext");
var dict = lines.Select(l => l.Split('=')).ToDictionary(a => a[0], a => a[1]);
要将字典转换为文件,请使用:
string[] lines = dict.Select(kvp => kvp.Key + "=" + kvp.Value).ToArray();
File.WriteAllLines(lines);
请注意您的 NAME
s 和 VALUE
s 不能包含 =
.
关于c# - 读写name值文本文件的简单方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3781706/