C# 有趣的out参数

方法有多个返回值时我一般喜欢加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结果不变
365个夜晚,我希望做到两天更一篇博客。加油,小白!
原文地址:https://www.cnblogs.com/qq2806933146xiaobai/p/15719827.html