需要帮助为数组C#(noob)赋值

时间:2015-08-30 10:10:25

标签: c# arrays

我正在尝试编写一种方法,在检查是否下雨之后,为每年的每一天指定降雨量值。

所以我希望我的days数组在28以下包含365个随机数,其中3/4为0。

注意:我有一个全局随机变量

static void Generate() 
{
    int[] days = new int[365];

    int going_to_rain = 0;
    for (int i = 0; i < days.Length; i++) 
    {
        going_to_rain = randomValue.Next(3);
        if (going_to_rain == 1) 
        {
            days[i] = randomValue.Next(1, 28);
        } 
        else 
        {
            days[i] = 0;
        }
    }
    Console.WriteLine(days);
}

1 个答案:

答案 0 :(得分:0)

您可以创建一个阵列,其前274个单元格为0,其他单元格是随机的。

之后你将这个数据乱七八糟地移动:

int[] days = new int[365];
int i = 0;
for(i = 0;i < 274;++i)
{
   days[i] = 0;
}

for (i = 275;i < 365; ++i)
{
   days[i] = randomValue.Next(1,28);
}

//Shuffle
for (i = 0; i < 365; ++i)
{
   int randVal = randomValue.Next(364);
   int tmp = day[randVal];
   day[randVal] = day[i];
   day[i] = tmp;
}
相关问题