0

この項目から画像データを抽出するためのコード行がありますが、imageItem = null としてコードがスキップされます。これの考えられる原因は何ですか?

foreach (Layer layer in level.Layers)
{
    foreach (Item item in layer.Items)
    {
        ImageItem imageItem = item as ImageItem;
        if (imageItem != null)
        {
            Texture2D texture = imageItem.Texture;
            imageItemList[iImageItemNum].itemTextureDataList[0] =
                     new Color[imageItem.Texture.Width * imageItem.Texture.Height];
            imageItem
                .Texture
                .GetData(imageItemList[iImageItemNum]
                .itemTextureDataList[0]);
            iImageItemNum++;
        }
    }
}
4

1 に答える 1

2

as演算子はキャスト操作に似ています。ただし、変換が不可能な場合、as は例外を発生させる代わりに null を返します。

したがって、現在の担当者itemlayer.ItemsないImageItem場合は、この行にnull割り当てられますimageItem

ImageItem imageItem = item as ImageItem;
于 2013-08-28T13:55:08.863 に答える