Можно ли из 3-х массивов,и из 3-х циклов foreach, в каждом я картинки из массивов добавляю в listBox, сделать одни массив с одним циклом?
DirectoryInfo di = new DirectoryInfo(aPath);
FileInfo[] fi = di.GetFiles("01.jpg");
FileInfo[] fd = di.GetFiles("02.jpg");
FileInfo[] fk = di.GetFiles("03.jpg");
foreach(FileInfo fc in fi)
{
listBox1.Items.Add(fc.Name);
}
foreach(FileInfo fc in fd)
{
listBox1.Items.Add(fc.Name);
}
foreach(FileInfo fc in fk)
{
listBox1.Items.Add(fc.Name);
}
Ответы (2 шт):
Автор решения: Aziz Umarov
→ Ссылка
for(i = 0; i < fi.Count() + fd.Count() + fk.Count(); i++) {
if (i < fi.Count()) {
listBox1.Items.Add(fi[i].Name);
continue;
}
if (i < fi.Count() + fd.Count()) {
listBox1.Items.Add(fd[i-fi.Count()].Name);
continue;
}
if (i < fi.Count() + fd.Count() + fk.Count()) {
listBox1.Items.Add(fk[i-fi.Count() - fd.Count()].Name);
continue;
}
}
Автор решения: aepot
→ Ссылка
Если вопрос об упрощении и сокращении кода, то можно так.
DirectoryInfo di = new DirectoryInfo(aPath);
string[] fileNames = new string[] { "01.jpg", "02.jpg", "03.jpg" };
foreach (string fileName in fileNames)
{
FileInfo[] files = di.GetFiles(fileName);
foreach(FileInfo fi in files)
{
listBox1.Items.Add(fi.Name);
}
}