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:我知道我的新猫对象现在始终具有相同的值,但我可以更改它。这不是问题
我正在学校做一个项目,我需要使用 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:我知道我的新猫对象现在始终具有相同的值,但我可以更改它。这不是问题