C#的一个问题,高手来

来源:百度知道 编辑:UC知道 时间:2024/05/23 12:51:45
foreach (Vehicle vehicle in list) {
if (vehicle is Bus) { ((Bus)vehicle).Run(); }
}

请问一下,vehicle是怎么判断veicle的类型的?

是in吗?
高手,我知道is是判断类型的,可我就问我定义在里面的一个集合
添加了一些Bus的元素,但是,只声明了vehicle的list而已,这里怎么能判断出来的?

.net使用元数据对内容进行了类型的自描述
这样就可以具有跨平台的基础,同样一个object在.netframwork环境中是可以对类型进行描述和确定的。

Vehicle vehicle in list 把list中符合vehicle 的元素依次取出,而 vehicle is Bus的判断,首先他们都是Vehicle 类型的 其次,他们的value是相同的 则本次取出的vehicle 是bus

foreach (Vehicle vehicle in list) //用Vehicle定义vehicle(像int i;)遍厉list;
{
if (vehicle is Bus) 判断vehicle交通工具是不是Bus
{ ((Bus)vehicle).Run(); } 是的话强制类型转换为Bus执行Bus.Run()[因为没有定义vehicle.Run()]
}

首先 int is Int64 返回true
List<int> intL;intL[0] is Int64 你说呢

真是个问题..