具体是这样的,一个窗体上有两个Textbox: textbox1 和 textbox2
我在textbox1中写N行东西,在textbox2中读出textbox1中数据的同时,每遇见一个回车就在此行数据前标一个数字,如下:
textbox1:
A
B
C
那么我希望textbox2中显示的内容是
1.A
2.B
3.C
还请高手告诉怎么实现, 谢谢```
我在textbox1中写N行东西,在textbox2中读出textbox1中数据的同时,每遇见一个回车就在此行数据前标一个数字,如下:
textbox1:
A
B
C
那么我希望textbox2中显示的内容是
1.A
2.B
3.C
还请高手告诉怎么实现, 谢谢```
B
C
D";string result = string.Join("\r\n", s.Split(new string[] { "\r\n" }).Select((value, index) => (index + 1).ToString() + "." + value));
谢谢你的回复, 有点思路了, 不过貌似这个不行, 有两个错误
1.错误 1 与“string.Split(params char[])”最匹配的重载方法具有一些无效参数
2.错误 2 参数 1: 无法从“string[]”转换为“char[]"
貌似我记得Spilt后便跟的应该是 new char[]?
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));没错吧? 可是还是显示的是那个问题 = =
TextBox.GetGetLineText(int index) 获取指定索引的行的文本
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
sample.Split(new string[] { Environment.NewLine }, StringSplitOptions.None).
Select((p, i) => string.Format("{0}.{1}", i + 1, p)));