is 是判断某个对象是否是某个类型 对象 is 类型 返回 bool 类型
as是将某个对象转换成某个类型
对象 as 类型
如果转换成功返回对象类型
如果装换不成功,也不会报错,而是返回null值
所有类型的基类——object 任何子类都可以隐式转换父类
object o1 = new Random();
objiect 02= ""; 可以等于数字型 字符串型等等
ArrayList arr = new ArrayList(); 可以放任何类型且不限定长度
arr.Add("aaa");
arr.Add(55);
arr.Add(new Random());
arr.Add(new aaa());
Random r = (Random)arr[0]; 强制转换 声明将括号后的内容转换成括号内的数据类型
知道什么类型:
string s =arr[0].Tstring(); 子类能隐式转换陈父类 父类不能换成子类 加tsting强制装换成子类
不知道什么类型:
bool b = arr[0] is Random; arr内索引值0所对应的内容是不是随机数 是TRUE 不是FALSE
不知道有多少数据也不知道那个是我用的随机数
foreach (objiect o in arr) 吧arr的内容遍历出来
{
if (o is Random == true) 如果o里是随机类型显示true
{
RanDom r = (Random)o;
r.Next (0,11);
}
}
foreach (objiect o in arr) 把arr的内容遍历出来
{
Random r = o as Random; 类型装换的过程 如果转换不成功显示null
if(r != null) 转换成功就用 不成功就过
{
Console.WriteLine(r.Next(0,11));
}
}