用c#写一个程序,当程序运行时,将最后一个固定磁盘根目录中的文件及一级文件夹中的全部文件路径存储到一个数组中,然后显示到文本框中。
时间: 2024-03-09 09:44:37 浏览: 20
好的,以下是用 C# 编写的程序,实现了你的要求:
```c#
using System;
using System.IO;
using System.Linq;
using System.Windows.Forms;
namespace FileLister
{
public partial class MainForm : Form
{
public MainForm()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
// 获取最后一个固定磁盘根目录
var drives = DriveInfo.GetDrives().Where(d => d.DriveType == DriveType.Fixed);
var lastDrive = drives.LastOrDefault();
if (lastDrive == null)
{
MessageBox.Show("找不到固定磁盘根目录!");
return;
}
// 获取根目录和一级文件夹中的全部文件路径
var files = Directory.GetFiles(lastDrive.RootDirectory.FullName, "*", SearchOption.TopDirectoryOnly);
var folders = Directory.GetDirectories(lastDrive.RootDirectory.FullName);
var subFiles = folders.SelectMany(f => Directory.GetFiles(f, "*", SearchOption.TopDirectoryOnly));
var allFiles = files.Concat(subFiles).ToArray();
// 显示到文本框中
if (allFiles.Length > 0)
{
txtFiles.Text = string.Join(Environment.NewLine, allFiles);
}
else
{
txtFiles.Text = "没有找到任何文件!";
}
}
}
}
```
这个程序会在窗体加载时自动执行,获取最后一个固定磁盘根目录中的所有文件和一级文件夹中的文件,并将它们的路径存储到一个字符串数组中。然后,它将这些文件路径显示到窗体上的文本框中。请注意,这个程序只考虑了最后一个固定磁盘根目录,如果你需要获取其他磁盘的文件列表,需要进行相应的修改。