A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 鲜学良 于 2012-12-21 16:33 编辑

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            user u1=new user{UName="kk",Age=12};
Change(u1);
            Console.WriteLine(u1.UName);
            Console.ReadKey();
        }
    static void Change(user u)
  {
u=new user();
u.UName="change";
  }

public class user
{
public string UName{get;set;}
public int Age{get;set;}

}
    }
}
//为什么输出结果不是change呢

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

5 个回复

倒序浏览
果果,属性前 没+访问修饰符
public class user
{
public string UName{get;set;}
puclic int Age{get;set;}

}
应该会报错的啊,你看报错信息

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
你的代码我运行出来了,是change。类本来就是引用类型。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
Sailing. 发表于 2012-12-20 23:04
你的代码我运行出来了,是change。类本来就是引用类型。

不好意思上次代码直接在网上写的,少了Change方法中的第一句u=new user();
回复 使用道具 举报
鲜学良 发表于 2012-12-21 11:59
不好意思上次代码直接在网上写的,少了Change方法中的第一句u=new user();

引用u指向的对象改了,修改的是新的对象,原来的没有被改变所以还是“kk”
回复 使用道具 举报
本帖最后由 鲜学良 于 2012-12-21 16:34 编辑
罗会涛 发表于 2012-12-21 12:32
引用u指向的对象改了,修改的是新的对象,原来的没有被改变所以还是“kk” ...

知道了。谢谢!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马