方法有多个返回值时我一般喜欢加out参数
private void button3_Click(object sender, EventArgs e) { int aa; AddI(out aa); textBox3.Text = aa.ToString(); } private void AddI(out int vo) { int ss = Convert.ToInt32(textBox3.Text.Trim()); vo = ss + 2; }
//textBox3+2
渐渐发现引用类型的参数不加out参数也是可以的,值类型就必须要加out
a、引用类型不加out
1 private void button2_Click(object sender, EventArgs e) 2 { 3 List<string> list = new List<string>(); 4 AddList(list); 5 6 StringBuilder stringBuilder = new StringBuilder(); 7 foreach (string ii in list) 8 { 9 stringBuilder.AppendLine(ii); 10 } 11 textBox2.Text += stringBuilder.ToString(); 12 } 13 14 private void AddList(List<string> list) 15 { 16 list.Add("2"); 17 list.Add("3"); 18 }
//textBox2新增行2和3
b、值类型不加out
private void button1_Click(object sender, EventArgs e) { int ss = Convert.ToInt32(textBox1.Text.Trim()); Add(ss); textBox1.Text = ss.ToString(); } private int Add(int v) { return v += 2; }
//textBox1结果不变