| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 373 人关注过本帖
标题:属性和关联
只看楼主 加入收藏
czg123698741
Rank: 2
等 级:论坛游民
帖 子:348
专家分:84
注 册:2009-3-4
结帖率:78.99%
收藏
已结贴  问题点数:1 回复次数:5 
属性和关联
大家好,请帮帮忙~~~~~

代码如下:
    class C1
    {
        private int TR = 10;
        public int MV
        {
            set { TR = value; }
            get { return TR; }
        }
    }

    class Program
    {
        static void Main(string[] args)
        {
            C1 c = new C1();
            Console.WriteLine("MV: {0}", c.MV);

            c.MV = 20;
            Console.WriteLine("MV2: {0}", c.MV);

            //第一:
            int acc = c.MV;
            string change = (string)acc = "你好";
            Console.WriteLine("MV3: {0}", change);
            Console.ReadLine();

            //第二:
            string change2 = c.MV.ToString();
            change2 = "我很好";
            Console.WriteLine("MV4: {0}",change2);
            Console.ReadLine();
        }
    }

运行结果:
MV : 10
MV2 : 20
MV4 : 我很好

问题:
(1)而我疑问到是,static静态变量和静态属性能不能转换类型呢?
(2)【第一:】我使用强制强制转型,输出到时候发现,提示错误:无法将类型“int”转换为“string”,而【第二:】中使用ToString()方法,发现却能成功将整形转换字符串型。
(3)在我转换类型成功后,是哪里的类型被改变呢?是[private int TR]后备字段吗?还是[public int MV]属性呢?
搜索更多相关主题的帖子: 属性 
2009-10-20 16:52
bygg
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:乖乖的心中
等 级:版主
威 望:241
帖 子:13555
专家分:3076
注 册:2006-10-23
收藏
得分:0 
string change = (string)acc = "你好";
你这里有问题
你是想将 changeacc 同时赋予 "你好" 这个值.
但是 acc 在上面已经定义成了 int 型,你不能再将其转换成 string 类型,所以会出现问题
一般来说,我们都是转换值,而很少(几乎不会)转换类型...

飘过~~
2009-10-20 17:00
bygg
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:乖乖的心中
等 级:版主
威 望:241
帖 子:13555
专家分:3076
注 册:2006-10-23
收藏
得分:0 
private int TR = 10;
        public int MV
        {
            set { TR = value; }
            get { return TR; }
        }
而这一段,我们通常叫做一个属性.
而 TR 是作为class C1 内部的字段, 而MV是供外部调用的.
虽然我们看似是调用的MV的值或者是改变MV的值,但都会通过get和set方法进行修改TR的值.

这个和下面的方法是一样的.

public int MV
{
    get{}
    set{}
}
只是下面这种写法不算是标准而已,但一般来说,程序员都懂.

呵呵,仅此而已.

飘过~~
2009-10-20 17:03
czg123698741
Rank: 2
等 级:论坛游民
帖 子:348
专家分:84
注 册:2009-3-4
收藏
得分:0 
回复 2楼 bygg
你好:
我还是有一点不明白,就是int类型能不能显示转换为string呢??
一般的隐式转换和显式转换跟ToString(),又不一样吗??

我上了MSDN查了一下子,发现int类型 与 string类型 转换是使用,ToInt() 和 ToStirng() 来实现的!
而int整形一般只能支持强制转换为char字符型的!
我这样说对吗?
图片附件: 游客没有浏览图片的权限,请 登录注册


[ 本帖最后由 czg123698741 于 2009-10-21 13:13 编辑 ]
2009-10-21 13:11
czg123698741
Rank: 2
等 级:论坛游民
帖 子:348
专家分:84
注 册:2009-3-4
收藏
得分:0 
大家好啊~~~~
我的问题还没有解决啊,请大家帮帮忙好吗?
谢谢~~~~~~
问题在四楼::::::
2009-10-22 11:58
bygg
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:乖乖的心中
等 级:版主
威 望:241
帖 子:13555
专家分:3076
注 册:2006-10-23
收藏
得分:1 
ToInt() 和 ToStirng() 是转换值,还不是转换类型

比如:
string str = "";
int i=10;

str = i.ToString() 这里就是将i的值 10转换成 "10"字符串型.
而str依旧是string类型.

飘过~~
2009-10-22 12:42
快速回复:属性和关联
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021010 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved