is和as運算符
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));
}
}
is和as運算符