首页 > 解决方案 > 将值设置为列表中的随机属性

问题描述

请检查下面的代码。我正在尝试将值设置为 int 列表的随机属性。问题是,即使在i设置5为随机列表之后,这个值也会被插入到该属性中。我在这里做错了什么?

var TransactionList = new List<int>();
for (int i = 0; i < 59; i++)
{
    TransactionList.Add(0);
}

var randTransaction = TransactionList.OrderBy(x => Guid.NewGuid()).FirstOrDefault();

//here i am trying to set 5 value to a random TrnasactionList but this not being set
randTransaction = 5;

标签: c#

解决方案


尝试如下。new Random().Next(0, 59);将返回 和 之间0的值59。或者您可以更好地将其设置new Random().Next(0, TransactionList.Count);为动态的list.

new Random().Next(minValue, maxValue);方法中的maxValue上界Next()排他的——范围包括minValuemaxValue-1和介于两者之间的所有数字。

var TransactionList = new List<int>();
for (int i = 0; i < 59; i++)
{
    TransactionList.Add(0);
}

// var index = new Random().Next(0, 59);
// Below will work for dynamic length of list.
var index = new Random().Next(0, TransactionList.Count);
TransactionList[index] = 5;

推荐阅读