微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c# – 选择随机字符

我有一些字符:
chars = "$%#@!*abcdefghijklmnopqrstuvwxyz1234567890?;:ABCDEFGHIJKLMnopQRSTUVWXYZ^&".tochararray();

现在我正在寻找一种从这些返回随机字符的方法.

我发现一个可能有用的代码

static Random random = new Random();
        public static char GetLetter()
        {
            // This method returns a random lowercase letter
            // ... Between 'a' and 'z' inclusize.
            int num = random.Next(0,26); // Zero to 25
            char let = (char)('a' + num);
            return let;
        }

这个代码给我一个随机的字母形式,但只返回小写字母

解决方法

你几乎在那里 – 你想从一个字符串返回一个随机元素,所以你只需要在字符串的长度范围内生成一个随机数:
public static char GetRandomCharacter(string text,Random rng)
{
    int index = rng.Next(text.Length);
    return text[index];
}

我建议不要使用类型为Random的静态变量,而不用任何锁定,顺便说一下 – Random不是线程安全的.有关更多详细信息(和解决方法),请参阅我的article on random numbers.

原文地址:https://www.jb51.cc/csharp/95356.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐