c#如何检查某个对象是否属于某种类型

Pec*_*tum 0 c# arrays xna equals object

我只是想知道检查某些东西的对象类型的过程是什么.

基本上我有一个父对象数组,我想检查其中一个对象是否属于特定的子类型.

更具体地说,我想检查一下GameScreen对象是否包含GameplayScreen类型的GameScreen对象.

        GameScreen[] screens = mScreenManager.GetScreens();

        // loop through array and check if the object equals gameplayscreen


        }
Run Code Online (Sandbox Code Playgroud)

Hab*_*bib 5

您可以使用以下is运算符检查类型:

if(screens[0] is GamePlayScreen)
Run Code Online (Sandbox Code Playgroud)

或者,如果您只需要GamePlayScreen阵列中的类型对象,则可以使用:

GamePlayScreen[] items = screens.OfType<GamePlayScreen>().ToArray();
Run Code Online (Sandbox Code Playgroud)

请参阅:Enumerable.OfType.它用System.Linq