我'我的文件有问题.c#中的WriteAllLines
本文关键字:有问题 中的 WriteAllLines 文件 我的 | 更新日期: 2023-09-27 18:14:46
*我知道我需要一个内容数组字符串,但我有困难实现它。
Dictionary<string, string> dictionary = new Dictionary<string, string>();
string[] array = File.WriteAllLines("settings.cfg");
for (int i = 0; i < array.Length; i++)
{
string text = array[i];
if (!text.StartsWith("/") && text.Contains(":"))
{
string[] array2 = text.Split(new char[]
{
':'
});
dictionary.Add(array2[0], array2[1]);
}
}
*您将如何实现string[]
内容?
在执行这些任务时,请尝试使用Linq。你必须
- 读取文件
- 过滤掉行
- 将每一行表示为键和值(在您的情况下只是分割)
- 将结果物化为字典
像这样:
var dictionary = File
.ReadLines("settings.cfg")
.Where(line => !line.StartWith("/") && line.Contains(":"))
.Select(line => line.Split(new char[] {':'}))
.ToDictionary(items => items[0], items => items[1]);
如果您想要Dictionary<string, string[]>
作为结果
"您将如何实现
string[]
内容?"
你所要做的就是修改最后一行:
var dictionary = File
.ReadLines("settings.cfg")
.Where(line => !line.StartWith("/") && line.Contains(":"))
.Select(line => line.Split(new char[] {':'}))
.ToDictionary(items => items[0], items => items.Skip(1).ToArray());
Edit:如果您想将现有的集合保存到一个文件中,通过File.WriteAllLines
正确的语法是
string[] SaveStrings = ...
File.WriteAllLines("settings.cfg", SaveStrings);