在c#的下拉列表中选择随机字符串

本文关键字:选择 随机 字符串 下拉列表 | 更新日期: 2023-09-27 17:57:36

我正试图弄清楚如何让我的方法从下拉列表中随机选择帐户类型。基本上,在我的web应用程序中,用户会从下拉列表中选择:活动、非活动、潜在客户或暂停。我想做的是测试这个功能,并让我的方法在运行测试时随机选择一个值。

如果有意义的话,我很难将该方法引用到代码中的字符串值。任何帮助都将是伟大的,如果你需要更多的信息,请告诉我!

以下是我目前所拥有的:

   public void RandomStatusTypes()
     {
         List<string> statusTypes = new List<string> { "ACTIVE", "INACTIVE", "PROSPECT", "SUSPENDED" };
         Random randStatus = new Random();
         int index = randStatus.Next(0, 6);
         string value = statusTypes[index];
     }

代码中会有一行写着StatusTyp = _Status,,希望我能给这个值分配一个随机状态,这样每次我运行程序时,它都会随机选择一个值。

谢谢!

在c#的下拉列表中选择随机字符串

也许:

private static List<string> StatusTypes = new List<string>(){ "ACTIVE", "INACTIVE", "PROSPECT", "SUSPENDED" };
private static Random randStatus = new Random();
public string RandomStatusTypes()
{
    int index = randStatus.Next(0, StatusTypes.Count);
    return StatusTypes[index];
}

不要在方法本身中创建随机实例。否则,当方法调用得非常快(例如在循环中)时,您将创建相同的状态。您应该使用一个字段(如上所示)或将random作为参数传递给方法。

我还将列表移到了方法之外,因为总是在列表不变的情况下创建列表是无效的。最后,我使用了StatusTypes.Count来确保您始终使用有效的范围,即使您将来要更改列表(例如添加新状态)。

如果您需要DropdownList的随机值,您应该将SelectedIndex属性设置为随机数

   public void RandomStatusTypes()
     {
         List<string> statusTypes = new List<string> { "ACTIVE", "INACTIVE", "PROSPECT", "SUSPENDED" };
         Random randStatus = new Random();
         dropList.Items.AddRange(statusTypes);
         dropList.SelectedIndex = randStatus.Next(0, 3);
     }

如果您只是想从下拉列表中选择一个值,您应该随机更改SelectedIndex属性:

 Random randStatus = new Random();
 public void RandomStatusTypes()
 {
          ddlStatus.SelectedIndex = randStatus.Next(ddlStatus.Items.Count);
 }

这将随机更改为下拉列表中的任何值。请注意,它使用ddlStatus.Items.Count,所以如果您添加或删除项目,就不必修改此代码。

首先,您需要从该方法返回一个索引(void=它不返回任何内容),用作DropDownListselected value

public int RandomStatusTypes()
 {
     List<string> statusTypes = new List<string> { "ACTIVE", "INACTIVE", "PROSPECT", "SUSPENDED" };
     Random randStatus = new Random();
     return randStatus.Next(0, statusTypes.Count);
 }

之后,你可以在类似的地方调用该方法

  var statusForDropDown= RandomStatusTypes(); 

并将statusForDropDown分配给您的DropDownList

     MyDropDownList.SelectedIndex=statusForDropDown;

试试这个function,哪个returns a random item来自通过的myList

public string RandomListItem(List<string> myList)
{
    int randNo = new Random().Next(0, myList.Count());
    return myList[randNo];
}