提问者:小点点

我有一个包含数字列表丰富文本框。我想要一个代码,将选择在数字随机和显示它在文本框


我有一个包含数字列表丰富文本框。我想要一个代码,将选择在数字随机和显示它在文本框。


共1个答案

匿名用户

您的问题不清楚,因为RichTextBox没有List属性。

如果您指的是text属性,那么我们实际上讨论的是string。因此,我们需要知道字符串中的数字(它们不是真正的数字,而只是包含数字字符的子字符串)是由哪些字符分隔的。

通常我们使用string.split拆分这些字符以获得子字符串数组,然后使用random类从数组中获得随机项。

例如:

private static Random Random = new Random();

// Splits the input string on the splitChar character and returns a random item
public static string GetRandomItem(string input, char splitChar)
{
    return GetRandomItem(input, new[] {splitChar});
}

// Splits the input string on all the splitChars characters and returns a random item
public static string GetRandomItem(string input, char[] splitChars)
{
    if (string.IsNullOrEmpty(input)) return input;

    var items = input.Split(splitChars);

    return items[Random.Next(items.Length)];
}

在使用中,它可能看起来像:

// If the items are separated by a newline character:
string randomItem = GetRandomItem(richTextBox.Text, Environment.NewLine.ToCharArray());

// If the items are separated by a comma:
randomItem = GetRandomItem(richTextBox.Text, ',');

如果希望将结果字符串转换为数字,则可以使用适当的tryparse方法(int.tryparsedouble.tryparse等)来完成此操作。