is
關鍵字
class Animal
{
}
class Dog : Animal
{
}
Animal myAnimal = new Dog();
if (myAnimal is Dog)
{
Console.WriteLine("This animal is a dog");
}
應用場景:
在處理多態場景時,可以使用is
關鍵字來區分不同類型的對象,以便執行不同的操作。例如,在一個游戲開發中,有不同類型的游戲角色(如戰士、法師等)都繼承自一個角色基類。通過is
關鍵字可以判斷角色的具體類型,然后調用相應的技能方法。
在遍歷包含多種類型對象的集合時,is
關鍵字也很有用。比如,在一個圖形繪制程序中,有一個存儲圖形對象的列表,其中包含圓形、矩形等不同類型的圖形,使用is
關鍵字可以在遍歷列表時確定每個圖形的類型,進而調用合適的繪制方法。
as
關鍵字
class BaseClass
{
}
class DerivedClass : BaseClass
{
}
BaseClass myBaseObj = new DerivedClass();
DerivedClass myDerivedObj = myBaseObj as DerivedClass;
if (myDerivedObj!= null)
{
Console.WriteLine("Conversion successful");
}
typeof
運算符
Type intType = typeof(int);
Console.WriteLine(intType.Name); // 輸出 "Int32"
Type.IsInstanceOfType
方法
class Animal
{
}
class Dog : Animal
{
}
Animal myAnimal = new Dog();
Type dogType = typeof(Dog);
if (dogType.IsInstanceOfType(myAnimal))
{
Console.WriteLine("The object is an instance of Dog type");
}
Type.IsAssignableFrom
方法
class BaseClass
{
}
class DerivedClass : BaseClass
{
}
Type baseType = typeof(BaseClass);
Type derivedType = typeof(DerivedClass);
if (baseType.IsAssignableFrom(derivedType))
{
Console.WriteLine("DerivedClass can be assigned to BaseClass");
}
該文章在 2024/12/2 9:43:56 編輯過