c#中is運算符和as運算符有什么作用?


is/as

is轉換規則:

1. 檢查對象類型的兼容性,並返回結果true(false);
2.不會拋出異常;
3.如果對象為null,剛返回false;

示例:

object o = "abc";
if (o is string) //執行第一次類型兼容性檢查
{
string s = (string)o; //執行第二次類型兼容性檢查,並轉換
MessageBox.Show("轉換成功!");
}
else
{
MessageBox.Show("轉換失敗!");
}

as轉換規則:

1.檢查對象類型的兼容性,並返回轉換結果,如果不兼容則返回null;
2.不會拋出異常;
3.如果結果判斷為空,則強制執行類型轉換將拋出NullReferenceException異常;

示例:

object o = "abc";
string s = o as string; //執行第一次類型兼容性檢查,並返回結果
if (s != null)
MessageBox.Show("轉換成功!");
else
MessageBox.Show("轉換失敗!");

注:as比is少執行一次兼容性檢查,性能可能會高一點點。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM