图像数组:超出范围异常

时间:2016-01-10 01:58:40

标签: c# .net arrays image exception

我正在C#制作一款小游戏,我正在尝试将图片加载到array,但它一直在说索引超出范围

这是给我一个错误的部分:

Image[] Map = new Image[10];
Image map1 = Image.FromFile("_Maps_\\map1.png");
Map[1] = map1;
Image map2 = Image.FromFile("_Maps_\\map2.png");
Map[1] = map2;
Image map3 = Image.FromFile("_Maps_\\map3.png");
Map[1] = map3;
Image map4 = Image.FromFile("_Maps_\\map4.png");
Map[1] = map4;
Image map5 = Image.FromFile("_Maps_\\map5.png");
Map[1] = map5;
Image map6 = Image.FromFile("_Maps_\\map6.png");
Map[1] = map6;
Image map7 = Image.FromFile("_Maps_\\map7.png");
Map[1] = map7;
Image map8 = Image.FromFile("_Maps_\\map8.png");
Map[1] = map8;
Image map9 = Image.FromFile("_Maps_\\map9.png");
Map[1] = map9;
Image map10 = Image.FromFile("_Maps_\\map10.png");
Map[1] = map10;

我对C#

中的数组有点新意

如果您需要更多代码,请询问

1 个答案:

答案 0 :(得分:1)

使用LINQ可以轻松加载此图像,请参阅下文:

Image[] Map = Directory.GetFiles("_Maps_", "*.png")
                       .Select(file => Image.FromFile(file))
                       .ToArray();

使用这种方式你不会关心地图的名称,如果你添加一个新地图,它将从这段代码中获取。

您可以稍微简化此代码

Image[] Map = Directory.GetFiles("_Maps_", "*.png")
                       .Select(Image.FromFile)
                       .ToArray();