VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1053|回复: 3

建立对象以后,属性是否占内存空间?属性一定要跟私有字段联系起来使用吗?

[复制链接]

1

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-1-4 22:40:02 | 显示全部楼层 |阅读模式
class Test
{
  public string name
  {
    get
      {
        return "NoName";
       }
    set
      {
       name=value;
       }  
     
   }

  public test()
  {
  }
}

class program
{
  static void Main(string[] args)
  {
    Test test1=new Test();
    Console.writeLine(test1.name);
   }
}

这样访问name属性,居然会出错?高手指点!谢了!!
回复

使用道具 举报

0

主题

3

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
发表于 2020-1-4 23:51:01 | 显示全部楼层
class Test
{
  public string name
  {
    get
      {
        return "NoName";
       }
     
   }

  public test()
  {
  }
}

class program
{
  static void Main(string[] args)
  {
    Test test1=new Test();
    Console.writeLine(test1.name);
   }
}
这样试试了
回复

使用道具 举报

0

主题

60

帖子

23.00

积分

新手上路

Rank: 1

积分
23.00
发表于 2020-1-5 06:21:01 | 显示全部楼层
1。属性一定要跟私有字段联系起来使用吗?

  是的,

2。建立对象以后,属性是否占内存空间?
  当然,属性设置了私有字段的存或读的方法,
实际上编译器最终把它编译为一种特殊的方法而
调用的

回复

使用道具 举报

0

主题

56

帖子

21.00

积分

新手上路

Rank: 1

积分
21.00
发表于 2020-1-5 15:09:01 | 显示全部楼层
你的Test类得要有个字段啊
set
{
    name=value;
}
这样写貌似会玩火自焚的..死循环啊-_-///  

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表