static void Main(string[] args)
        {
            int a = 5;
            Console.WriteLine(a);
            ShowDouble(a);
            Console.WriteLine("方法:{0}", a);            Console.ReadKey();
        }        static int ShowDouble(int val)
        {
            val*=2;
            Console.WriteLine("ShowDouble{0}", val);
            return val;
        }为什么这个值 是5 阿?

解决方案 »

  1.   

    因为调用函数的时候不支持值传递,只能适用引用才可以。比如用数组就能解决你的问题。
    static void Main(string[] args)
            {
                int[] a =new int[1];
                a[0]=5;
                Console.WriteLine(a[0]);
                a=ShowDouble(a);
                Console.WriteLine("方法:{0}", a[0]);            Console.ReadKey();
            }        static int[] ShowDouble(int[] val)
            {
                val[0]*=2;
                Console.WriteLine("ShowDouble{0}", val[0]);
                return val;
            }
      

  2.   

    你输出的是 a 那必须是5
    方法有返回值,int b = ShowDouble(a);
                Console.WriteLine("方法:{0}", b);