【发布时间】:2016-03-03 16:23:27
【问题描述】:
我正在创建一个小型宠物密码学项目,并正在从文本文件中读取文本,在每行位于数组中时对其进行修改,然后将其提交回其文本文件。问题是将字符串添加回文件,因为文本文件的当前文本已被删除,就像程序现在的样子一样。更具体地说,我想将数组中的所有字符串合并为一个字符串,这就是我认为错误所在。这是我写的代码。
static void Main(string[] args)
{
string[] getAllText = File.ReadAllLines("H:\\BetaText.txt");
File.WriteAllText("H:\\BetaText.txt", string.Concat(Lock(getAllText)));
System.Diagnostics.Process.Start("H:\\BetaText.txt");
}
Lock 只是我程序中的一个方法,它返回一个加密的字符串数组。确认文本文件已正确解析,并且修改返回确实返回了我想要的数组。问题仍然是我的 string.Concat() 语句。我确实知道如何使用多行语句来解决这个问题,但我想避免这种情况并了解为什么 Concat() 语句没有按照我认为的方式工作。我还使用了带有 "" 分隔符的 string.Join 方法。浏览 StackOverflow 我还没有看到这个问题的答案,根据 MSDN 文档,我认为我不应该遇到这个问题。谢谢。
【问题讨论】:
-
您发布的代码不会只将单个项目放入字符串[]中吗?似乎您需要在
File.ReadAllLines的字符串结果中的某个分隔符上执行Split()方法,以便在字符串[] 中获取多个项目。连接单个 string[] 项只会返回一个字符串。 -
加密数组中的每个字符串是否有特殊原因,您可以将整个文件读入一个字节[],加密,然后写回加密的字节?
-
那么
string.Concat会返回什么,您希望它返回什么? -
@Russ:当我使用
ReadAllLines拉取文本文件的每一行时,它都会添加到数组中的一个单独的字符串中 -
@series0ne 我的目的是学习如何使用这种方法来使用加密,然后再转向更好的方法。当我到达那一步时,我将进行代码审查。最好现在就学习如何用简单的方法来做,一旦我掌握了最好的方法,再学习如何做。此外,我还不习惯修改字节,因为我还没有处理单个字节。