gpt4 book ai didi

c# - 挣扎于 List 和 ArrayList 的使用

转载 作者:行者123 更新时间:2023-11-30 22:27:52 29 4
gpt4 key购买 nike

我正在尝试使用以下代码来打乱 ArrayList 的元素- questionsAndSeperators .我用两种方法来做到这一点。
方法一:-

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 中做错了吗?

最佳答案

在方法 1 中,您创建一个 new List<Question>包含 this.questionsAndSeperators 的所有元素.然后你洗牌 new List<Question> 的所有元素.但是你不洗牌 this.questionsAndSeperators 的元素因为它是另一个数组。

在方法 2 中,您访问 ArrayList直接洗牌 ArrayList 的元素.

关于c# - 挣扎于 List 和 ArrayList 的使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11104935/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com