C# 如何保持TXT文件与列表同步<;字符串>;

C# 如何保持TXT文件与列表同步<;字符串>;,c#,io,C#,Io,因此,我正在用C#制作一个基于文本的游戏,并创建一个配置文件功能。它在第一次执行时已经创建了一个新的TXT文件,并将其存储在appdata文件夹中。现在,这里是TXT文件中的内容 NAME=[$] REP=[0] “NAME”操作符用于个人别名,这是我目前正在处理的问题。我需要它做的是输入命令 alias Example 它将修改一个列表,其中正好包含与TXT文件同步的内容。我尝试了很多很多不同的方法,包括 case "alias": string joined = string.J

因此,我正在用C#制作一个基于文本的游戏,并创建一个配置文件功能。它在第一次执行时已经创建了一个新的TXT文件,并将其存储在appdata文件夹中。现在,这里是TXT文件中的内容

NAME=[$]
REP=[0]
“NAME”操作符用于个人别名,这是我目前正在处理的问题。我需要它做的是输入命令

alias Example
它将修改一个列表,其中正好包含与TXT文件同步的内容。我尝试了很多很多不同的方法,包括

case "alias":
    string joined = string.Join(",", profileList.ToArray());
    string[] joineone = joined.Split(',');

    profileList.Clear();
    foreach (string var in joineone)
    {
        if (var.StartsWith("NAME"))
        {
            var.Replace(getStringBetween(var, "[", "]"), preCut[1]);
        }
        profileList.Add(var);
    }
    Invoke(new _rewriteProfile(rewriteProfile));
    break;
和一个更短的版本

profileList[0].Replace(getStringBetween(profileList[0],"=[", "]"), preCut[1]);

其中,
profileList
是与TXT文件同步的文件,
getStringBetween
获取两个字符之间的字符串。它还连接到一个replace,用第一个“cut”替换它,在本例中是“Example”。问题是,它永远不会改变。列表中的文本不会更改。我不知道为什么。顺便说一下,我正在使用.NET2.0


任何帮助都将不胜感激

检查txt文件是否为只读。。。。。。或者,您的方法(getStringBetween)没有返回任何内容。

var=var.Replace(getStringBetween(var,“[”,“]),preCut[1])

到底什么是“永不改变”?磁盘上的文件不会更改其内容或其他内容?名称=[$]不能更改,只能更改其中的“$”(文本)。与REP=[0]相同,但0可以上升。问题是,事实并非如此。我已经尝试了我能想到的一切!,谢谢你的回复!你没有说你使用的是哪个版本的c。但是,如果您使用的是4.0或更高版本,则可以使用
ObservableCollection
类来创建一个集合,当它发生更改时将触发事件。顺便说一下,我使用的是.NET 2.0。在帖子的底部!我已经核实了!我甚至没有将它写入文本文件进行测试,而是将它输出到控制台!它读取,getStringBetween的输出总是“$”,但最终结果总是NAME=[$]precut[1]的值是多少?precut是所选别名,例如别名,precut将是“example”