Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如果按下返回键,我如何不跳过一行_C#_Keyboard - Fatal编程技术网

C# 如果按下返回键,我如何不跳过一行

C# 如果按下返回键,我如何不跳过一行,c#,keyboard,C#,Keyboard,所以我有代码,在每个周期后分离输入。然后把每个句子放在不同的行上。如果按return键,如何确保在输入中不跳过一行?这是我的密码: string input = TextEditor.Text; string[] tokens = input.Split('.'); Output.Text = string.Join(Environment.NewLine, tokens); if (Keyboard.IsKeyDown(Key.Enter

所以我有代码,在每个周期后分离输入。然后把每个句子放在不同的行上。如果按return键,如何确保在输入中不跳过一行?这是我的密码:

    string input = TextEditor.Text;
        string[] tokens = input.Split('.');
        Output.Text = string.Join(Environment.NewLine, tokens);
        if (Keyboard.IsKeyDown(Key.Enter))  // for some reason words "Keyboard" and "Key" Don't work.
        {
            // I don't know what to do here
        }
所以现在如果我写:

Hello I am a human.
A good human
我将得到以下输出:

Hello I am a human

A good human

你必须去掉断线。尝试将Environment.NewLine替换为String.Empty

您可以通过将所有出现的替换为来预处理输入字符串。\n。当线以点结束时,这将有效地删除所有换行符

input.Replace(".\n", ".").Split('.')
或者,您可以通过删除数组中纯空白的所有字符串(新行、制表符、空白)对标记进行后处理

Output.Text = string.Join(Environment.NewLine, tokens.Where(s => !string.IsNullOrWhiteSpace(s)));
更新

如果您低于.NET4.0,您可以这样做

Output.Text = string.Join(Environment.NewLine, tokens.Where(s => s != "\n" && s != "\r\n")));

您可以使用input.replace替换所有。/n。\n,…拆分。。。或者你做代币。Where=>!当你加入字符串时,string.IsNullOrWhitespaces应该是\n@Timo::该死的。我更新了comment@Timo当我这样做时,我会在IsNullOrWhitespace处得到一个错误。它说:字符串不包含IsNullOrWhitespace的定义,因为它实际上不起作用,因为我仍然需要它,就好像当我放入句点时,字符串的其余部分将被放入新行一样。当我这样做时,IsNullOrWhitespace会出错。它说:字符串不包含IsNullOrWhitespace@DrummingAce您使用哪个版本的.Net?.Net 4.0附带string.IsNullOrWhitespace。我不确定,但我确实使用了.NET4.0的一个版本。VisualStudios2015中的哪一款是我最喜欢的use@DrummingAce哦,我有个打字错误。我已经更新了答案。