Как добавить строку в список с повторением - PullRequest
0 голосов
/ 21 февраля 2019

Мне нужно добавить строковый элемент в список.Я получил всего около 25 штук.Это заставит меня добавить его в список несколько раз.У кого-нибудь был какой-нибудь метод, который я мог бы добавить в список, не создавая длинную строку кода?

 List<Raster> myRasterlist = new List<Raster>();


        // Get the file name
        string filepath = @"C:\Users\User\Desktop\User Stuff\Map Data\RASTER\3069.tif";
        myRasterlist.Add(new Raster(filepath));

        filepath = @"C:\Users\User\Desktop\User Stuff\Map Data\RASTER\3169.tif";
        myRasterlist.Add(new Raster(filepath));

        filepath = @"C:\Users\User\Desktop\User Stuff\Map Data\RASTER\3265.tif";
        myRasterlist.Add(new Raster(filepath));

        filepath = @"C:\Users\User\Desktop\User Stuff\Map Data\RASTER\4357.tif";
        myRasterlist.Add(new Raster(filepath));

Ответы [ 2 ]

0 голосов
/ 21 февраля 2019

Предполагая, что все изображения находятся в одном каталоге, вы можете использовать Directory.EnumerateFiles с маской поиска, а затем спроецировать результаты на List

Возвращаетперечисляемая коллекция имен файлов, соответствующих указанным критериям.

var myRasterlist = Directory.EnumerateFiles(dir, "*.tiff", SearchOption.TopDirectoryOnly)
                            .Select(file => new Raster(x));

// or

var myRasterlist = Directory.EnumerateFiles(dir)
                            .Select(file => new Raster(x));
0 голосов
/ 21 февраля 2019
using System.IO;
...    

List<Raster> myRasterlist = new List<Raster>();

    foreach (string filepath in Directory.EnumerateFiles(folderPath, "*.tif"))
    {
      myRasterlist.Add(new Raster(filepath));
    }
  • Я предполагаю, что все файлы находятся в одной папке
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...