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

时间:2013-02-04 13:49:38

标签: c# random names

我想弄清楚如何让我的方法从下拉列表中随机选择一个帐户类型。基本上在我的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,,希望我能为该值分配随机状态,因此每次运行程序时,它都会随机选择一个值。

谢谢!

5 个答案:

答案 0 :(得分:1)

也许:

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来确保您始终使用有效范围,即使您将来更改列表(例如添加新状态)。

答案 1 :(得分:0)

如果您只想从DropdownList中选择一个值,则应该随机更改SelectedIndex属性:

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

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

答案 2 :(得分:0)

如果您需要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);
     }

答案 3 :(得分:0)

尝试通过function

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

答案 4 :(得分:0)

首先,您需要从该方法返回索引(void =它不返回任何内容),以用作selected value的{​​{1}}。

DropDownList

之后你可以在这个地方调用那个方法

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