Плеер C# Индекс находился вне границ массива
Формулировка задачи:
Приветствую, подскажите в чем проблема. При добавлении второго файла песни в плейлист появляется ошибка:
"Индекс находился вне границ массива."
Собственно код:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
String[] files, Paths;
private void button1_Click(object sender, EventArgs e)
{
{
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
files = openFileDialog1.SafeFileNames;
Paths = openFileDialog1.FileNames;
for (int i = 0; i != files.Length; i++)
{
Список.Items.Add(files[i]);
}
}
}
}
private void Список_DoubleClick(object sender, EventArgs e)
{
axWindowsMediaPlayer1.URL = Paths[Список.SelectedIndex];
}
}
}Решение задачи: «Плеер C# Индекс находился вне границ массива»
textual
Листинг программы
readonly HashSet<string> files = new HashSet<string>();
readonly HashSet<string> Paths = new HashSet<string>();
private void button1_Click(object sender, EventArgs e)
{
{
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
var locFiles = openFileDialog1.SafeFileNames;
var locPaths = openFileDialog1.FileNames;
for (int i = 0; i != locFiles.Length; i++)
{
files.Add(locFiles[i]);
Paths.Add(locPaths[i]);
}
Список.Items.Clear();
foreach (string file in files)
{
Список.Items.Add(file);
}
}
}
}