我想比較兩個類的類型,但我不斷收到錯誤。比較兩個類的類型
if (mediaTitleCollection[i].GetType() == Catalog.FilmMedia)
我得到以下錯誤:'Catalog.FilmMedia'是一個'類型',在這種情況下無效。
我不確切地看到問題,因此我比較的主要事情是一種類型?
我想比較兩個類的類型,但我不斷收到錯誤。比較兩個類的類型
if (mediaTitleCollection[i].GetType() == Catalog.FilmMedia)
我得到以下錯誤:'Catalog.FilmMedia'是一個'類型',在這種情況下無效。
我不確切地看到問題,因此我比較的主要事情是一種類型?
使用typeof
:
if (mediaTitleColection[i].GetType()==typeof(Catalog.FilmMedia)
您需要使用typeof()
這將返回一個comparible類型。
if(mediaTitleCollection[i].GetType() == typeof(Catalog.FilmMedia))
或者你也許可以同時使用is
操作:
if(mediaTitleCollection[i] is Catalog.FilmMedia)
您需要使用typeof聲明
if (mediaTitleCollection[i].GetType() == typeof(Catalog.FilmMedia))
的是運營商更快,更容易閱讀,所以肯定使用它。
if(mediaTitleCollection[i] is Catalog.FilmMedia)
,如果你需要投mediaTitleCollection[i]
到FilmMedia你可以做的另一件事是:
Catalog.FilmMedia filmMedia = mediaTitleCollection[i] as Catalog.FilmMedia;
if (filmMedia != null)
{
...
}
我喜歡的是個人的選擇,因爲它使用更少的代碼來實現同樣的功能。 – tsells 2012-02-26 23:46:26