黑马程序员技术交流社区

标题: 你能知道这段代码输出的结果吗? [打印本页]

作者: 班顶超    时间: 2012-6-4 17:52
标题: 你能知道这段代码输出的结果吗?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication2
{
    public class Test
    {
        public static int i = 0;
        public void add()
        {
            i++;
        }

        public void addi(int i)
        {
            i++;
        }

        public void str(string s)
        {
            s = "789";

        }
        public void arr(int[] i1)
        {

            i1[0] = 1;

        }

    }

    class Program
    {

        static void Main(string[] args)
        {   
            int i = 0;
            int[] i1 = {100};
            string s = "123";        
            Test t1= new Test();
            Test t2= new Test();
            t1.add();
            t2.add();
            t1.addi(i);
            t1.str(s);

           
            Console.WriteLine(Test.i);
            Console.WriteLine(i);   
            Console.WriteLine(s);
            Console.WriteLine(i1[0]);
            t1.arr(i1);
            Console.WriteLine(i1[0]);
     
            Console.ReadKey();
        }
    }
}


作者: 朱亮辉    时间: 2012-6-4 18:43
那可不,输出的时候还是这个样子的呢!
2
0
123
100
1
作者: 王针    时间: 2012-6-4 18:53
陷阱真多,错的心寒啊
作者: 班顶超    时间: 2012-6-4 19:19
王针 发表于 2012-6-4 18:53
陷阱真多,错的心寒啊

自己随便想的,还能骗到人?{:3_53:}
作者: 高宜    时间: 2012-6-4 19:44
运行值和自己计算值有几个还是有差别。
仔细想想,只要搞清楚值类型和引用类型还是蛮好理解的
作者: 牛景亮    时间: 2012-6-4 20:05
却是陷阱很多呀,一不小心就错了。
作者: 朱亮辉    时间: 2012-6-5 09:24
哈哈,要细心!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2