如何在一行文本中一次识别单个字符?

本文关键字:识别 一次 单个 字符 一行 文本 | 更新日期: 2023-09-27 18:19:09

我已经写好了所有的代码但我只能弄清楚如何改变一个预定字符的值,在本例中是e,我需要在当前字符循环时改变值

Thanks in advance

static void Encrypt()
        {
            int asciiVal;
            string CurrentLine;
            StreamReader CurrentReadFile = new StreamReader("EncMe.txt");
            StreamWriter CurrentWriteFile = new StreamWriter("temp.txt");
            while (!CurrentReadFile.EndOfStream)
            {
                string EncLine = "";
                CurrentLine = CurrentReadFile.ReadLine();
                foreach (char e in CurrentLine)
                {
                    char CurrentChar = 'e';
                    asciiVal = (int)CurrentChar;
                    asciiVal = asciiVal + 1;
                    CurrentChar = (char)asciiVal;
                    EncLine = EncLine + CurrentChar;
                }
                CurrentWriteFile.WriteLine(EncLine);
            }
            CurrentWriteFile.Close();
            CurrentReadFile.Close();
        }

如何在一行文本中一次识别单个字符?

自从我使用c#已经有一段时间了,但是你应该能够说:asciiVal = (int)e;在你的foreach循环中,你将e定义为一个char类型变量,它代表字符串CurrentLine中的单个字符。如果您想使用char CurrentChar变量,那么您可以将foreach重写为:foreach(char CurrentChar in CurrentLine),然后您应该省略char CurrentLine = 'e';行。

这将为您的foreach循环留下以下内容:

foreach (char CurrentChar in CurrentLine){
      asciiVal = (int)CurrentChar;
      asciiVal += 1; /* If you will only ever increment by 1, you can also
                        use "asciiVal++;" */
      EncLine += (char)asciiVal;
 }

注意:请原谅任何拼写或语法错误。