我正在创建一个小型的宠物加密项目,并正在从文本文件中读取文本,在每行在数组中时对其进行修改,然后将其提交回其文本文件。问题在于将字符串添加回文件,因为文本文件的当前文本就像现在的程序一样简单地被删除。更具体地说,我想把数组中的所有字符串都放到一个单独的字符串中,这就是我相信错误的地方。这是我写的代码。加密:将字符串数组转换为单个字符串
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");
}
锁只是我的程序中的一个方法,它返回一个加密的字符串数组。文本文件被确认被正确解析并且修改返回的确确实返回了我想要的数组。问题仍然是我的string.Concat()语句。我知道如何用多行语句解决这个问题,但是我想避免这种情况,并了解为什么Concat()语句不按我想的方式工作。我也使用了带“”分隔符的string.Join方法。通过StackOverflow查看我还没有看到这个答案,根据MSDN文档,我不认为我应该有这个问题。谢谢。
您发布的代码是否仅将单个项目放入字符串[]中?看起来你需要在'File.ReadAllLines'的字符串结果中的某个分隔符上执行一个'Split()'方法来获取字符串[]中的多个项目。连接单个字符串[]项只会返回一个字符串。 – Russ
当你可以将整个文件读入一个字节[]时,是否有加密数组中的每个字符串的特殊原因,进行加密,然后写回加密的字节? – series0ne
那么'string.Concat'返回什么,你期望它返回什么? –