相关疑难解决方法(0)

什么是C#中的泛型?

什么是C#中的泛型,用一个简单的例子说明?本主题的相关文章或网站有哪些?

c# generics

40
推荐指数
2
解决办法
7万
查看次数

虚函数C#

我理解虚函数是什么.但我没有得到的是他们如何在内部工作?

class Animal
{
    virtual string Eat()
    {
        return @"Eat undefined";
    }
}

class Human : Animal
{
    override string Eat()
    {
         return @"Eat like a Human";
    }
}


class Dog : Animal
{
    new string Eat()
    {
         return @"Eat like a Dog";
    }
}

static void Main()
{
    Animal _animal = new Human();
    Console.WriteLine(_animal.Eat());
    _animal = new Dog();
    Console.WriteLine(_animal.Eat());
}
Run Code Online (Sandbox Code Playgroud)

上面的输出给出:

Eat like a Human
Eat undefined
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,_animal是Animal类型,它引用了Human对象或Dog对象.这是什么意思?我理解在内存中_animal包含一个指向Human或Dog对象的地址.它如何决定调用哪个函数.在第一种情况下,我覆盖,因此调用了子的实现,但在第二种情况下,我使用new,因此调用了父实现.能告诉我发动机罩下发生了什么吗?

在此先感谢尼克

c# methods virtual

3
推荐指数
1
解决办法
1228
查看次数

标签 统计

c# ×2

generics ×1

methods ×1

virtual ×1