【问题标题】:Generate random string from list of string in C#? [closed]从C#中的字符串列表生成随机字符串? [关闭]
【发布时间】:2011-12-10 15:22:06
【问题描述】:

从字符串的 Arraylist 中获取“n”个随机字符串。其中 n = 我想要从列表中获得的字符串数可以是 1,2,3 ....?如果我想选择随机四个字符串而不重复,假设我有 N 个字符串的数组列表。我该怎么做?代码应该在 C# 中。虽然我已经这样做了,但是最好的方法是什么?

【问题讨论】:

  • 您可以在这个问题上多花点功夫...实际上您要问的是如何生成一个随机数,然后您可以使用该随机数来访问列表?
  • 不要在这里问你的任务:)。
  • 谁能帮帮我
  • 如果您需要帮助,我建议您编辑您的问题并以更具体的方式重新表述它。我相信这样,您将毫无疑问地获得帮助:-)

标签: c# random


【解决方案1】:

Shuffling@编码恐怖

【讨论】:

  • 这确实是一种编码恐惧。但我需要一个解决方案。
【解决方案2】:

试试这个:

class Program
{
    static void Main(string[] args)
    {
        int myRandomIndex = 0;
        var myList = new List<string>(new[] { "a", "b", "c", "d", "e", "f", "g", "h", "i", "j" });
        var results = new List<string>();
        var r = new Random(DateTime.Now.Millisecond);
        for (int ii = 0; ii < 4; ii++)
        {
            myRandomIndex = r.Next(myList.Count);
            results.Add(myList[myRandomIndex]);
            myList.RemoveAt(myRandomIndex);
        }

        Console.WriteLine(string.Join("", results));
        Console.ReadKey();
    }
}

为了使每个选定的字符串保持唯一(防止重复),我在使用时将其从源列表中删除。您还应该在使用该列表之前执行myList = myList.Distinct(),以确保您一开始就没有重复。

【讨论】:

    猜你喜欢
    • 2014-03-17
    • 2014-02-01
    • 2017-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-22
    相关资源
    最近更新 更多