【发布时间】:2012-06-21 17:26:16
【问题描述】:
我正在尝试使用以下代码对ArrayList-questionsAndSeperators 的元素进行混洗。我有两种方法。
方法 1:-
List<Question> questionList = this.questionsAndSeperators.Cast<Question>().ToList();
Random rng = new Random();
int questionCount = questionList.Count;
while (questionCount > 1)
{
questionCount--;
int index = rng.Next(questionCount + 1);
Question value = questionList[index];
questionList[index] = questionList[questionCount];
questionList[questionCount] = value;
}
方法二:-
ArrayList questionList = this.questionsAndSeperators;
Random rng = new Random();
int questionCount = questionList.Count;
while (questionCount > 1)
{
questionCount--;
int index = rng.Next(questionCount + 1);
object value = questionList[index];
questionList[index] = questionList[questionCount];
questionList[questionCount] = value;
}
这里Question 是一个类。
方法 2 工作正常,并且对 questionsAndSeperators 的元素进行了混杂,但 方法 1 无法混杂questionsAndSeperators 的元素。 方法1有什么问题??
我在方法 1 中做错了吗?
【问题讨论】: