textBox1.Text //取textBox框里的文本,因为是多行,行与行之前会有回车换行符\r\n,按他的例子,取出来应该是1,2,3,4\r\n5,6,7,8\r\n9,10,11,12
textBox1.Text.TrimEnd("\r\n".ToCharArray()) //因为不确定光标是否停在12后面,还是换到下一行了,如果换到下一行,那12后面还会有一个\r\n,TrimEnd()方法就是去掉字符串最后的字符,这里加上就是为了去掉最后的\r\n
textBox1.Text.TrimEnd("\r\n".ToCharArray()).Replace("\r\n", ",") //然后用Replace把中间换行的\r\n替换成逗号,就成了1,2,3,4,5,6,7,8,9,10,11,12 Replace()方法两个参数,第二个参数的字符替换第一个参数的字符
Regex.Split(参数1,参数2)方法用于分割字符串,参数1是要分割的字符串,参数2是用什么符号分割,因为这里全是用逗号隔开的,所以用逗号分割,就会把字符串分割成string[]
Array.ConvertAll(str, s => int.Parse(s)); //这个是数组转换,用了Array.ConvertAll(参数1,参数2)方法,参数1是要转换的数组,参数2是一个Converter转换委托,这里只是用了lambda 表达式来创建的委托
不用lambda 表达式,也可以写成
string[] str = Regex.Split(textBox1.Text.TrimEnd("\r\n".ToCharArray()).Replace("\r\n", ","), ",");
System.Converter<string, int> con = new Converter<string, int>(convert); //创建Converter类型的转换委托,con是该委托的引用,该委托执行convert方法
int[] intArray = Array.ConvertAll(str, con); //把引用con传进去,委托会自动调用convert方法进行转换
//转换方法,由委托调用
public int convert(string s)
{
return int.Parse(s);
}