在C#中输入字符

本文关键字:字符 输入 | 更新日期: 2023-09-27 18:25:45

我有这个代码:

while(!sr1.EndOfStream)
{
    radek1 = sr1.ReadLine();
    Console.Write(radek1);
    Console.WriteLine();
    string[] split1 = radek1.Split(new char[] { ' ', '???' });
}

我从file.txt中读取了一个字符串数组,需要用空格和回车分隔,所以我想交换这些?对于表示的内容,输入

在C#中输入字符

输入的意思可能是New Line。在大多数情况下,这将是你想要的:

string newLine = Environment.NewLine; //Updated to Sergey Volegov's suggested

在大多数情况下,Environment.NewLine等于"'r'n",但有时它只是'n,所以使用Environment.NewLine更明智。

'r是回车
CCD_ 8是一条新线路。

把它想象成一台打字机。您需要返回到行的开头('r),然后向下一行('n

由于Environment.NewLine是一个字符串,您将希望在String s上使用Split,而不是Char s:

string[] split1 = radek1.Split(new string[] { " ", Environment.NewLine });

使用此:

Environment.NewLine.ToCharArray();

正如@Guffa所说,你也可以拥有:

string[] split1 = radek1.Split(new string[] { " ", Environment.NewLine }, StringSplitOptions.None));  

第二个基于空间和新行进行拆分
然而,第一个单独由'r'n分割。因此,为了获得正确的行为,您需要使用第二种方法。

这取决于文件的来源和创建方式。

如果它是在同一个系统上创建的,那么它很可能会使用该特定系统的本机换行组合,并且您可以使用Environment.NewLine常量:

string[] split1 = radek1.Split(new string[] { " ", Environment.NewLine }, StringSplitOptions.None);

注意,Environment.NewLine是一个字符串,可以包含多个字符,因此需要拆分字符串,并且调用需要一个StringSplitOptions参数,因为没有它就不会过载。

如果文件来自不同的系统(或者使用不同系统的换行符创建),则需要指定特定的字符串。例如,Windows系统中使用的两个字符串:

string[] split1 = radek1.Split(new string[] { " ", "'r'n" }, StringSplitOptions.None);

如果您需要处理来自不同系统的文件,还可以包括最常见的换行组合:

string[] split1 = radek1.Split(new string[] { " ", "'r'n", "'n" }, StringSplitOptions.None);