我如何添加到列表<字符串>还有文件目录,然后从列表中获得一个字符串var,只有文件名和dir

本文关键字:字符串 列表 dir var 一个 文件名 文件目录 添加 何添加 然后 | 更新日期: 2023-09-27 18:12:19

public static string filetoupload;
        int count = 0;
        private void button1_Click(object sender, EventArgs e)
        {
            List<string> files = new DirectoryInfo(@"d:'")
            .GetFiles("*.avi")
            .Select(f => Path.GetFileName(f.Name) + " " + FileSizeDisplay(f,70))
            .ToList();
            for (int i = files.Count -1; i >= 0; i--)
            {
                if (!files[i].EndsWith("MB") || files[i].EndsWith("0 MB"))
                {
                    files.RemoveAt(i);
                }
            }
            filetoupload = files[count];
            count += 1;
        }

和方法FileSizeDisplay:

static string FileSizeDisplay(FileInfo f, int filterfilesize)
        {
            string fn = "";
            double maximumfilessize = filterfilesize;
            const int MB = 1024 * 1024;
            if (f.Length <= maximumfilessize * MB)
            {
                fn = Math.Round(((double)f.Length / MB), 1).ToString() + " MB";
            }
            return fn;
        }

我现在得到的列表文件是:

测试。avi 2 mbtest1。avi 30 mbtest2。avi 15 mbtest3。avi 0.1 mb

但是现在我需要将List更改为:

d: '测试。avi 2 mbd: ' test1。avi 30 mbc: ' test2。avi 15 mbe: ' '测试' test3。avi 0.1 mb

我需要添加到列表也每个文件的目录。

然后我只需要得到每个文件的目录和文件名:因此字符串var filetoupload将包含例如:

d: ' test.avi

然后点击

d: ' test1.avi

下一步点击

c: ' test2.avi

我试图在这个地方更改为FullName:

Path.GetFileName(f.Name)

我做了f.FullName,但没怎么改变

我如何添加到列表<字符串>还有文件目录,然后从列表中获得一个字符串var,只有文件名和dir

使用FileInfoFullName属性代替Name属性,去掉去掉路径中目录部分的Path.GetFileName

...
.Select(f => f.FullName + " " + FileSizeDisplay(f, 70))
...