C# 中的 Is 和 As 运算符

Is and As operator in C#

我正在学校做一个项目,我需要使用 is 和 as 运算符。我从学校得到这个例子

作业是我需要从对象 Cat 中找到 "chip registration" 个数字(Cat 派生自 Animal)。我不知道如何实现这个。目前这就是我所拥有的:

    public void CheckCatHabitsIs(Animal a)
    {
        if (a is Cat)
        {
            Cat c = (Cat)a;

            foreach (var p in c.ChipRegistrationNumber)
            {
                lbShowCatHabits.Items.Add(p);
            }
        }
    }

我想把这个方法放在按钮点击事件中,就像这样

    private void btnShowBadHabits_Click(object sender, EventArgs e)
    {
        CheckCatHabitsIs(/*Need to fill something in here.. but I don't know what*/);


        //foreach (var c in administration.animalList)
        //{
        //    lbShowCatHabits.Items.Add(c);
        //}
    }

我有点卡住了。我不知道我的方向是否正确。我也不知道在方法中放置什么作为参数。

我希望我的问题有意义。

提前致谢

更新:

抱歉给您带来麻烦。我发现了我的问题。我正在寻找的解决方案是:

    private void btnShowBadHabits_Click(object sender, EventArgs e)
    {
        Cat cat = new Cat("", null, "", "Good", (Gender)cbGender.SelectedItem);
        Animal animal = cat;

        if (animal is Cat)
        {
            lbShowCatHabits.Items.Add(cat.BadHabits);
        }
        else
        {
            MessageBox.Show("No cats found");
        }

可能是我解释的太远了。但感谢给定的反应:)

ps:我知道我的新猫对象现在始终具有相同的值,但我可以更改它。这不是问题