C# ListView的字符串数组
所以我在一个目录中得到了一堆文件 它们都是这样命名的:C# ListView的字符串数组,c#,arrays,listview,C#,Arrays,Listview,所以我在一个目录中得到了一堆文件 它们都是这样命名的: 丹尼尔-2013-09-10.jpg Peter-2012-05-06.jpg Christiane-2011-01-08.jpg 因此,我将所有这些项目放在一个目录中,并将它们放在一个数组中: string[] pictures = Directory.GetFiles(@"C:/Pictures", "*.jpg"); 我得到了一个包含3列的列表视图,名称、日期和文件大小 我想从文件名中获取所有这些信息,然后将它们放入listvi
- 丹尼尔-2013-09-10.jpg
- Peter-2012-05-06.jpg
- Christiane-2011-01-08.jpg
string[] pictures = Directory.GetFiles(@"C:/Pictures", "*.jpg");
我得到了一个包含3列的列表视图,名称、日期和文件大小
我想从文件名中获取所有这些信息,然后将它们放入listview。因此,对于这三个文件,它将如下所示:
名称-----------------日期-----------------文件大小丹尼尔--------10。2013年9月----26KB
彼得------------06。2012年5月------------39KB
克里斯蒂安--------08。2011年1月--------35KB 因此,我想用
foreach
拆分数组中的信息,然后使用另一个循环在ListView中写入数据,但我不知道具体怎么做
谢谢你的帮助^^
干杯我想你可以用foreach查看所有文件。 在每个循环中,必须使用正则表达式拆分文件名,以拆分文件名 您可以通过代码获取的文件大小
因此,您可以在网格中显示相关数据。我认为您可以使用foreach查看所有文件。 在每个循环中,必须使用正则表达式拆分文件名,以拆分文件名 您可以通过代码获取的文件大小
因此,您可以在网格中显示相关数据。
foreach
很好。然后需要将字符串解析为变量。然后需要添加到listview。试着用谷歌搜索“listview c#add item”foreach
很好。然后需要将字符串解析为变量。然后需要添加到listview。试着用谷歌搜索“listview c#add item”我觉得太慷慨了。。通常我会说,自己动手吧。。但这似乎是一件有趣的事,在睡觉前拼凑在一起
class PictureLoader {
private readonly string[] _images;
public PictureLoader(string path) {
_images = Directory.GetFiles(path, "*.jpg");
}
public IEnumerable<Tuple<string, string, string>> GetRowData() {
foreach (var imagePath in _images) {
var extension = Path.GetExtension(imagePath);
var fileName = Path.GetFileName(imagePath);
var regex = Regex.Match(fileName, @"([A-Za-z]+)-(\d{4}-\d{2}-\d{2})(.[A-Za-z]+)");
var name = regex.Groups[1].Value;
var date = DateTime.ParseExact(regex.Groups[2].Value, "yyyy-MM-dd", CultureInfo.InvariantCulture);
yield return
new Tuple<string, string, string>(name + extension, date.ToString(),
(new FileInfo(imagePath).Length / 1024).ToString() + " KB");
}
}
}
结果:
这是你的起点。我会把我错过的小细节留给你。我觉得太慷慨了。。通常我会说,自己动手吧。。但这似乎是一件有趣的事,在睡觉前拼凑在一起
class PictureLoader {
private readonly string[] _images;
public PictureLoader(string path) {
_images = Directory.GetFiles(path, "*.jpg");
}
public IEnumerable<Tuple<string, string, string>> GetRowData() {
foreach (var imagePath in _images) {
var extension = Path.GetExtension(imagePath);
var fileName = Path.GetFileName(imagePath);
var regex = Regex.Match(fileName, @"([A-Za-z]+)-(\d{4}-\d{2}-\d{2})(.[A-Za-z]+)");
var name = regex.Groups[1].Value;
var date = DateTime.ParseExact(regex.Groups[2].Value, "yyyy-MM-dd", CultureInfo.InvariantCulture);
yield return
new Tuple<string, string, string>(name + extension, date.ToString(),
(new FileInfo(imagePath).Length / 1024).ToString() + " KB");
}
}
}
结果:
这是你的起点。我将把我错过的细节留给你。你是在要求我们为你做这件事。。。我们来这里是为了帮助你解决一些具体的问题-一个你陷入困境的地方。你有点要求我们为你做这件事。。。我们来这里是为了帮助解决一些特定的问题——一个让你陷入困境的地方。我意识到这可能是不受欢迎的(因此我们投了反对票)。我将删除它:(我取消删除,因为否决票变成了赞成票。)有人能告诉我这种回答是否不受欢迎吗?这是我第一次这样回答。我意识到这可能是不赞成的(因此否决票)。我将删除它:(我取消了删除,因为否决票变成了赞成票。)有人能告诉我这种回答是否不受欢迎吗?这是我第一次这样回答。。