2 wohuozheng wohuozheng 于 2017.09.15 10:47 提问

java 和c#这段代码执行不一样啊
 public class Aja {
    public String a;
    public String b;
    public String c;
    public String D;

    public Aja(){}
    public Aja(String a,String b,String c)
    {
        this.a=a;
        this.b=b;
        this.c=c;
    }
    public String getD() {
        return a;
    }   
}


public class Ajb {

    public static void main(String[] args) {
        Aja aja=new Aja("男","女","中");
        Aja ajb=new Aja("好","坏","二");
        System.out.println("aaa");
    }
}
debug下aja中的D为null
 class KzInfo
    {
        public string dbm;
        public string zmdm;
        public string kzdm;
        public string kzm;
        public string jrfx;

        public KzInfo()
        { }
        public KzInfo(string _dbm, string _zmdm, string _kzdm, string _kzm, string _jrfx)
        {
            this.dbm = _dbm;
            this.zmdm = _zmdm;
            this.kzdm = _kzdm;
            this.kzm = _kzm;
            this.jrfx = _jrfx;
        }
        public string D
        {
            get
            {
                return dbm;
            }
        }
    }


        在c#中KzInfo kzInfo = new KzInfo(“1”,“2”,“3”,“4”,“5”);
        new之后debug可以看到D有值为1
        求大神解答啊

3个回答

fwinsky
fwinsky   2017.09.15 11:04

java:构造方法没有属性D的赋值

 public Aja(String a,String b,String c)
    {
        this.a=a;
        this.b=b;
        this.c=c;
    }

c#中构造中有dbm属性的赋值

wohuozheng
wohuozheng java中没调用getD,所以值不变
2 个月之前 回复
wohuozheng
wohuozheng 我现在好像明白点c#中public string D { get { return dbm; } }相当于直接赋值了
2 个月之前 回复
qq_33727653
qq_33727653   2017.09.15 11:46

楼主的代码看着很正常啊!!!这代码本来就不一样 java中没有d的赋值操作,而c#中有赋值操作,结果肯定不一样啊!!!楼主c#中dbm赋值了,d就有值了!

qq_38204686
qq_38204686   2017.09.15 17:30

建议百度 c#字段和属性

Csdn user default icon
上传中...
上传图片
插入图片