永发信息网

这个c#程序,我画横线单位this是调用上边的public animals吗,然后把rhis后边的

答案:1  悬赏:0  手机版
解决时间 2021-04-04 09:58
  • 提问者网友:留有余香
  • 2021-04-04 02:53
这个c#程序,我画横线单位this是调用上边的public animals吗,然后把rhis后边的
最佳答案
  • 五星知识达人网友:洎扰庸人
  • 2021-04-04 03:00
不是的,这个this的用法,在构造函数这里,代表其他的构造函数的重载。而在其他地方,只是代表当前对象的一个引用而已。就是一个关键字,代表自己,要不然怎么能明确地取本身的值呢。
这是一种语法,索引器就是这样定义的,根构造函数没关系。
这个animalID是给下面的get和set方法使用的参数。追问其他构造函数的重载这个代表,这是怎么代表的呢,有什么用啊追答this的用法:
用于构造函数重载;
用于明确指定当前对象;
用于一些特殊语法。
class Class1
{
    int val;
    public Class1(){}
    public Class1(int val):this()//这是第一种用法,用于重载构造函数的调用,没有你想啊,Class1(int val):Class1()太麻烦了嘛
    {
        this.val = val;//在这里的用法就是第二种,用于明确指定当前对象,两个变量名字相同,不用this怎么知道是哪一个呢。
    }
    public int this[int index]//这就是索引器的一种语法而已。这个this可以当是方法名,忽略就行了。而这个index就是参数。
    {
        get
        {
            return index;
        }
    }
}追问第一个我还是不太明白,到底是干什么用的,什么东西太麻烦了,能举个小小例子吗追答class abc
{
    public int number { get; set; }
    public abc(int number)
    {
        //初始化
        
        this.number = number;//用于区分当前对象的字段和参数变量
    }
    public abc()
        : this(0)
    { }
    //如果我不这么写,就要这样
    public abc()
    {
        //初始化
        
        this.number = 0;
    }
}这是一种固定用法,调用重载的构造函数就是要这样用,记住就行了。不用急于一时,现在你对C#的理解还不深,所以有些东西最好是记住,多练,慢慢地,代码写得多了,有些东西就理解了。
那个初始化的字代表着初始化的代码,可能有很多,使用这种重载的写法就不需要再写一遍了。明白了么?
追问大哥,我觉得刚才那个this说的不对,您看是不是这样我给您说说
这个this前边的是animal
他是不是调用的这个animal类里的我画横线的那个函数啊
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯