Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/289.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/arrays/12.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# 如何从数组中随机选取一行?_C#_Arrays - Fatal编程技术网

C# 如何从数组中随机选取一行?

C# 如何从数组中随机选取一行?,c#,arrays,C#,Arrays,当我的应用程序启动时,我会执行以下操作: Random rand = new Random(); 然后我有了创建短语列表的代码。我想做的是只选择该列表中一行的短语ID。我正在尝试与兰德合作,但对如何做到这一点感到非常困惑。以下是我到目前为止的情况: var phrases = App.selectedPhrases.All.Where(x => x.Points > 1).ToList(); if (phrases.Count == 0) return; var indx = (i

当我的应用程序启动时,我会执行以下操作:

Random rand = new Random();
然后我有了创建短语列表的代码。我想做的是只选择该列表中一行的短语ID。我正在尝试与兰德合作,但对如何做到这一点感到非常困惑。以下是我到目前为止的情况:

var phrases = App.selectedPhrases.All.Where(x => x.Points > 1).ToList();
if (phrases.Count == 0) return;
var indx = (int)rand.Next(phrases.Count) + 1;
var id = phrases[indx].PhraseId;
有人能帮我确认一下,这是正确的方法吗?不管列表中有多少行,它都能工作吗?如果只有一个元素,它会选择它吗?或者我应该为这种情况编写不同的代码吗

var indx = (int)rand.Next(phrases.Count) + 1;
致:

0

var indx = (int)rand.Next(phrases.Count) + 1;
致:


哦,那更好了,你让我在那里搔了一会儿头second@TheGeneral是的,我犯了一个错误,我刚醒来,我还很困;)那么,如果计数是1,那么它将始终选择数组中的0元素?@Alan2是的,随机数没有其他选择。啊,那更好,你让我在那里挠头了一段时间second@TheGeneral是的,我犯了一个错误,我刚醒来,我还很困;)因此,如果计数为1,那么它将始终选择数组中的0元素?@Alan2是的,随机数没有其他选择