我如何添加到列表<字符串>还有文件目录,然后从列表中获得一个字符串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,但没怎么改变
使用FileInfo
的FullName
属性代替Name
属性,去掉去掉路径中目录部分的Path.GetFileName
。
...
.Select(f => f.FullName + " " + FileSizeDisplay(f, 70))
...