相关疑难解决方法(0)

随机化List <T>

在C#中随机化通用列表顺序的最佳方法是什么?我在一个列表中有一组有限的75个数字,我想为其分配一个随机顺序,以便为抽奖类型的应用程序绘制它们.

c# generic-list

795
推荐指数
13
解决办法
40万
查看次数

在C#中随机"排序"(随机播放)整数列表的最有效方法

我需要以最有效的方式随机"排序"整数列表(0-1999).有任何想法吗?

目前,我正在做这样的事情:

bool[] bIndexSet = new bool[iItemCount];

for (int iCurIndex = 0; iCurIndex < iItemCount; iCurIndex++)
{
    int iSwapIndex = random.Next(iItemCount);
    if (!bIndexSet[iSwapIndex] && iSwapIndex != iCurIndex)
    {
        int iTemp = values[iSwapIndex];
        values[iSwapIndex] = values[iCurIndex];
        values[iCurIndex] = values[iSwapIndex];
        bIndexSet[iCurIndex] = true;
        bIndexSet[iSwapIndex] = true;
    }
}
Run Code Online (Sandbox Code Playgroud)

c# random shuffle

51
推荐指数
4
解决办法
7万
查看次数

如何使用F#从列表中选择随机值

我是F#的新手,我正在试图弄清楚如何从列表/字符串数组中返回一个随机字符串值.

我有一个这样的列表:

["win8FF40", "win10Chrome45", "win7IE11"]
Run Code Online (Sandbox Code Playgroud)

如何从上面的列表中随机选择并返回一个项目?

这是我的第一次尝试:

let combos = ["win8FF40";"win10Chrome45";"win7IE11"]  

let getrandomitem () =  
  let rnd = System.Random()  
  fun (combos : string[]) -> combos.[rnd.Next(combos.Length)]  
Run Code Online (Sandbox Code Playgroud)

random f# f#-interactive

7
推荐指数
3
解决办法
2492
查看次数

快速洗牌1到4的方法?

希望改变四个变量(试图改变它们在多选列表中出现的顺序).

我一直在探索一段时间,但我不能完全了解逻辑,在过去的问题中查找随机随机播放提供了超出我新手技能的超详细算法(以及此程序的需求我'我试着写,我只想制作一个多选图像选择器.

理想情况下,我喜欢这个伪代码之后的东西:

// int Answer1 = Random(min1 max4)

// int Answer2 = Random(min1 max4)

// int Answer3 = Random(min1 max4)

// int Answer4 = Random(min1 max4)

// If Answer 1 equals ANY of the other three, re-randomize Answer1 and loop.

// Loop through this cycle for all answers.
Run Code Online (Sandbox Code Playgroud)

我发布了我当前的常规代码,但坦率地说,这是垃圾.:(这似乎是一个简单的问题,但我只是不能正确.

提前致谢!

c# random shuffle

5
推荐指数
3
解决办法
5203
查看次数

如何随机化数组中的数字

我有一个像这样的数组:

int[] numbers = new [] { 1, 2, 3, 4 };
Run Code Online (Sandbox Code Playgroud)

我想随机化这个(每次都不同),这样它就会生成另一个具有相同大小和数字但每次都以不同顺序排列的数组.

c# arrays random numbers

4
推荐指数
1
解决办法
2万
查看次数

究竟如何使随机数加起来等于声明的总和?

我很困惑如何将 9 个随机数添加到用户可能输入的任何数字上。假设用户输入“200”作为数字,我该如何制作才能得到 9 个随机数加起来正好等于 200?

显然,下面的代码无法按照我想要的方式工作,因为它实际上只是 9 个随机数,加起来不等于特定数字。我只是不知道如何正确构建它。

public static void RandomStats()
{
    Random RandomClass = new Random();

    int[] intRandomStats = {
        RandomClass.Next(0, 101), 
        RandomClass.Next(0, 101), 
        RandomClass.Next(0, 101), 
        RandomClass.Next(0, 101), 
        RandomClass.Next(0, 101), 
        RandomClass.Next(0, 101), 
        RandomClass.Next(0, 101), 
        RandomClass.Next(0, 101), 
        RandomClass.Next(0, 101)
    };

    // ...
}
Run Code Online (Sandbox Code Playgroud)

c# random

4
推荐指数
1
解决办法
199
查看次数

随机排列n个连续整数

可能重复:
使用Random和OrderBy是一个很好的shuffle算法吗?

给定从0开始的n个连续数的整数数组,即

0,1,2,..n
Run Code Online (Sandbox Code Playgroud)

我希望随机生成一个数字的排列,

说给定

0,1,2,3
Run Code Online (Sandbox Code Playgroud)

一个可能的是 3,1,2,0

如何轻松实现?

c# algorithm

3
推荐指数
2
解决办法
6403
查看次数

给定一个字符串数组什么是随机排序它们的最简单方法?

我想出的是:

RandomSort()
{
  string[] list = { "Alpha", "Beta", "Gamma", ... }
  Random rnd = new Random();
  string[] list2 = list.OrderBy((x) => rnd.NextDouble()).ToArray();
}
Run Code Online (Sandbox Code Playgroud)

有没有其他方式,也许使用一个Dictionary或什么?谢谢.

c# sorting random shuffle

2
推荐指数
1
解决办法
266
查看次数

随机化一系列餐馆

对于我的计算机科学入门课程,我必须创建一个应用程序来选择具有各种功能的餐馆,我无法弄清楚如何随机化数组.以下是我的代码.

string[] myRestaurants = new string[9];

myRestaurants[0] = "Wendy's";
myRestaurants[1] = "Arby's";
myRestaurants[2] = "Olive Garden";
myRestaurants[3] = "The Pie";
myRestaurants[4] = "The Cheesecake Factory";
myRestaurants[5] = "Beto's";
myRestaurants[6] = "Dillinger's Saloon";
myRestaurants[7] = "Dayz Alpher";
myRestaurants[8] = "Firehouse subs";

var nextArray = myRestaurants.ToList();
Random rng = new Random();  
int n = nextArray.Count;
while (n > 1)
{
    n--;
    int k = rng.Next(n + 1);
    T value = nextArray[k];
    nextArray[k] = nextArray[n];
    nextArray[n] = value;
    //bang
}
Run Code Online (Sandbox Code Playgroud)

c# arrays random

2
推荐指数
1
解决办法
131
查看次数

Char随机位置

我面临着将char置于随机位置的问题.

我有一个装满点的桌子,我必须用这些点替换30%的点 *

尺寸:10x5

我用过功能Random.

Random rnd = new Random();

if (rnd.Next() % 10 > 3)
    Console.Write(". ");
else
    Console.Write("* ");
Run Code Online (Sandbox Code Playgroud)

一切都在2个循环中,其中包含表格的长度和高度(10x5).

但它只能制造30%的概率*而不是.

这需要很好的位置,但每次我开始一个程序有不同的数量*.

*每次启动程序时,它应该只有16个(17 - 如果舍入)

我怎么想总是把30%变成概率呢?

c# random

1
推荐指数
1
解决办法
212
查看次数

循环和条件C#

我遇到一些看起来很简单的问题.我正在使用条件和预测试循环虽然它似乎甚至没有执行一个,因为满足条件,但它们不是.

我有,但我似乎永远不会遇到/当我打破它.它只是跳过它

int sorter = random.Next(0, 10);
bool player1full = false;
bool player2full = false;

while (player1full && player2full == false)
{
    if (chuckcards[sorter] != null)
    {
         while (player1full != true)
         {
              if (player1.Count != 5)
              {
                   player1.Enqueue(chuckcards[sorter]);
                   chuckcards[sorter] = null;
              }
              else
              {
                   player1full = true;
              }

              sorter = random.Next(0, 10);
         }

         while (player2full != true)
         {
              if (chuckcards[sorter] != null)
              {
                   if (player2.Count != 5)
                   {
                        player2.Enqueue(chuckcards[sorter]);
                        chuckcards[sorter] = null;
                   }
                   else
                   {
                        player2full = true;
                   }

                   sorter …
Run Code Online (Sandbox Code Playgroud)

c# while-loop

0
推荐指数
1
解决办法
242
查看次数

在每次执行中随机数和生成相同的数字序列

下面的片段随机数和每次执行中更改数字序列:

Enumerable.Range(1, 1000).OrderBy(r => Guid.NewGuid()).ToList();
Run Code Online (Sandbox Code Playgroud)

但是我想要随机数字并在每次执行应用程序时生成相同的数字序列?

.net c# .net-core

0
推荐指数
1
解决办法
301
查看次数