Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/262.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ListView的字符串数组_C#_Arrays_Listview - Fatal编程技术网

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");
        }
    }
}
结果:


这是你的起点。我将把我错过的细节留给你。

你是在要求我们为你做这件事。。。我们来这里是为了帮助你解决一些具体的问题-一个你陷入困境的地方。你有点要求我们为你做这件事。。。我们来这里是为了帮助解决一些特定的问题——一个让你陷入困境的地方。我意识到这可能是不受欢迎的(因此我们投了反对票)。我将删除它:(我取消删除,因为否决票变成了赞成票。)有人能告诉我这种回答是否不受欢迎吗?这是我第一次这样回答。我意识到这可能是不赞成的(因此否决票)。我将删除它:(我取消了删除,因为否决票变成了赞成票。)有人能告诉我这种回答是否不受欢迎吗?这是我第一次这样回答。。