C# Chart Диаграмма из количества файлов в папке

Рейтинг: 0Ответов: 1Опубликовано: 21.02.2023

Здравствуйте у меня есть Chart chart1, и есть массив FileInfo[] files, где у каждого файла есть files[i].Extension то есть тип, мне нужно сделать такой график как на картинке внизу с помощью Chart. Допустим если 4 png файла, то png должен быть 4, 2 html файла, то html должен быть там где 2.

введите сюда описание изображения

Ответы

▲ 2Принят

Раннее не приходилось работать с чартами, но стало интересно. Попробуйте этот код, он похож на то, что вам нужно.

        var dict = new Dictionary<string, int>();
        using (var dialog = new FolderBrowserDialog())
        {
            if (dialog.ShowDialog() != DialogResult.OK) return;
            var dirInfo = new DirectoryInfo(dialog.SelectedPath);
            var extCollection = dirInfo.GetFiles("*.*", SearchOption.TopDirectoryOnly)
                .Select(x => x.Extension.ToLowerInvariant());
            foreach (var ext in extCollection)
            {
                if (!dict.ContainsKey(ext))
                    dict.Add(ext, 1);
                else
                    dict[ext] += 1;
            }
        }

        chart1.Series.Clear();
        foreach (var item in dict)
        {
            var series = chart1.Series.Add($"{item.Key} ({item.Value})");
            series.Points.AddXY(item.Key, item.Value);
        }

Результат:введите сюда описание изображения