我需要你的帮助,我不擅长编程,现在我试着创建一个简单的音乐播放器,我希望它可以随机选择一首歌曲,当人们没有从列表框中选择歌曲时,以下是我的代码,但它不起作用。uwp c#随机选择
private void playMusic_Click(object sender, RoutedEventArgs e)
{
if (MylistBox.SelectedItem==null)
{
string[] songname = {"item1","item2","item3","item4"};
MylistBox.SelectedItem = songname[new Random().Next(0,songname.Length)];
if (MylistBox.SelectedItem == item1)
{
mediaElement_music.Source = new Uri("ms-appx:///Assets/24K Magic.mp3");
}
else if (MylistBox.SelectedItem == item2)
{
mediaElement_music.Source = new Uri("ms-appx:///Assets/Summer Air.mp3");
}
else if (MylistBox.SelectedItem == item3)
{
mediaElement_music.Source = new Uri("ms-appx:///Assets/Vampire.mp3");
}
else if (MylistBox.SelectedItem == item4)
{
mediaElement_music.Source = new Uri("ms-appx:///Assets/Happy.mp3");
}
}
if (MylistBox.SelectedItem == item1)
{
mediaElement_music.Source = new Uri("ms-appx:///Assets/24K Magic.mp3");
}
else if (MylistBox.SelectedItem == item2)
{
mediaElement_music.Source = new Uri("ms-appx:///Assets/Summer Air.mp3");
}
else if (MylistBox.SelectedItem == item3)
{
mediaElement_music.Source = new Uri("ms-appx:///Assets/Vampire.mp3");
}
else if (MylistBox.SelectedItem == item4)
{
mediaElement_music.Source = new Uri("ms-appx:///Assets/Happy.mp3");
}
}
数组''songname'是一个字符串数组。但是,您会将'Mylistbox.SelectedItem'与对象而不是字符串进行比较。这是否工作:'MylistBox.SelectedItem ==“item1”'? 因为你的长度是4,但是索引是基于0的,所以还要把'new Random()。Next(0,songname.Length)'改为'new Random()。Next(0,songname.Length -1)因此对象4不存在 – user2657943
您可能还想将歌曲放入数组中 - 如果您将音乐网址存储为字符串[],您可以随意选取一个或使用ComboBox的SelectedIndex选项。这将摆脱所有'如果'''else'块。 –
@ user2657943随机调用是正确的,它是*独占*上限。 –