具体是这样的,一个窗体上有两个Textbox: textbox1 和 textbox2
我在textbox1中写N行东西,在textbox2中读出textbox1中数据的同时,每遇见一个回车就在此行数据前标一个数字,如下:
textbox1:
A
B
C
那么我希望textbox2中显示的内容是
1.A
2.B
3.C
还请高手告诉怎么实现, 谢谢```

解决方案 »

  1.   

    一行简单的linq语句就就搞定了。如果这在我的团队中,我会批评你一点不懂linq的。
      

  2.   

    string s = @"A
    B
    C
    D";string result = string.Join("\r\n", s.Split(new string[] { "\r\n" }).Select((value, index) => (index + 1).ToString() + "." + value));
      

  3.   


    谢谢你的回复, 有点思路了, 不过貌似这个不行, 有两个错误
    1.错误 1 与“string.Split(params char[])”最匹配的重载方法具有一些无效参数
    2.错误 2 参数 1: 无法从“string[]”转换为“char[]"
      

  4.   


    貌似我记得Spilt后便跟的应该是 new char[]?
      

  5.   

    我看错误列表的提示应该是 new char[], 但如果是new char[]的话貌似又不能解决我的问题. 我正在调试看
      

  6.   

    我的确是2010编译的...
                string s = @"A
                            B
                            C
                            D";            string result = string.Join("\r\n", s.Split(new string[] { "\r\n" }).Select((value, index) => (index + 1).ToString() + "." + value));没错吧? 可是还是显示的是那个问题 = =
      

  7.   

    一个参数的Split其参数签名是char[],而使用string[]的就需两个参数,例如s.Split(new string[]{"\n"}, StringSplitOptions.None)
      

  8.   

    如果只一个参数,那么写s.Split('\n')并且这其实是param char[],所以参数中的char可以写很多个。另外你的问题中的textbox1.Text,估计没有\r,只有\n。
      

  9.   

    TextBox.LineCount 总行数
    TextBox.GetGetLineText(int index) 获取指定索引的行的文本
      

  10.   


    string sample = @"line1
    line2
    line3";
    StringBuilder result = new StringBuilder();int index = 1;
    sample.Split(new string[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries).ToList().ForEach(p => {
    result.AppendFormat("{0}. {1}{2}", index++, p, Environment.NewLine);
    });我很笨的,不会LINQ
      

  11.   

    为了不被bs,还是写一下string result = string.Join(Environment.NewLine, sample.Split(new string[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries).Select((p, i) => string.Format("{0}.{1}", i + 1, p)));真的很少这样用,没有这个意识
      

  12.   

    这里一下,string result = string.Join(Environment.NewLine, 
    sample.Split(new string[] { Environment.NewLine }, StringSplitOptions.None).
    Select((p, i) => string.Format("{0}.{1}", i + 1, p)));