在单行windows phone / c#中检索具有多行的文本框中的文本

本文关键字:文本 检索 windows 单行 phone | 更新日期: 2023-09-27 17:50:50

我有一个文本框,它接受多行。我必须从这个阅读文本,并将其发送到服务器。

问题是当我发送字符串时,它应该有''n'而不是实际的换行。即,如果输入如下:

First Line
Second Line
我应该把它作为 发送给服务器

"First Line'nSecond Line"

我想我应该发送一些像

"First Line''nSecond Line"

但是我找不到''n'字符来替换它。

    private string addReturns(string content)
    {
        char[] modified = new char[content.Length * 2 + 2];
        int j = 0;
        for (int i = 0; i < content.Length; i++)
        {
            if (content[i] == ''n')
            {
                MessageBox.Show("Found return");
                modified[j++] = '''';
                modified[j++] = 'n';
            }
            else
            {
                modified[j++] = content[i];
            }
        }
        modified[j] = ''0';
        content = new string(modified);
        MessageBox.Show(content);
        return content;
    }

显示"Found return"的MessageBox根本没有到达。

请帮助我如何做到这一点。

谢谢。

在单行windows phone / c#中检索具有多行的文本框中的文本

如果我理解正确的话,您想用''n替换新的行字符。如果是,只需:

private string addReturns(string content)
{
    return content.Replace(Environment.NewLine, "''n");
}

请注意您正在使用的技术可能会导致问题。如果用户想要添加文本I like having double slash and n like ''n this怎么办?您将如何在服务器端解释这一点?

确保你已经在TextBox中设置了这些属性,

AcceptsReturn =‘真正的’TextWrapping = "包装"

这将工作,

    string a = textBox1.Text;
    string[] delimiter = { Environment.NewLine };
    string[] b = a.Split(delimiter, StringSplitOptions.None);
    string s = string.Join(",", b);
    string r = s.Replace("'r", "'n");