生成随机数,随机字符串,随机颜色等的C#代码

2018-07-20    来源:open-open

容器云强势上线!快速搭建集群,上万Linux镜像随意使用

这是一个c#工具类,用于产生随机整数,随机字符串,随机颜色等,同时你可以对这个类进行扩展,产生自己的随机数据

/// <summary>
    /// Helper class for generating random values
    /// </summary>
    public static class RandomHelper
    {
        private static Random randomSeed = new Random();

        /// <summary>
        /// Generates a random string with the given length
        /// </summary>
        /// <param name="size">Size of the string</param>
        /// <param name="lowerCase">If true, generate lowercase string</param>
        /// <returns>Random string</returns>
        public static string RandomString(int size, bool lowerCase)
        {
            // StringBuilder is faster than using strings (+=)
            StringBuilder RandStr = new StringBuilder(size);

            // Ascii start position (65 = A / 97 = a)
            int Start = (lowerCase) ? 97 : 65;

            // Add random chars
            for (int i = 0; i < size; i++)
                RandStr.Append((char)(26 * randomSeed.NextDouble() + Start));

            return RandStr.ToString();
        }

        /// <summary>
        /// Returns a random number.
        /// </summary>
        /// <param name="min">Minimal result</param>
        /// <param name="max">Maximal result</param>
        /// <returns>Random number</returns>
        public static int RandomNumber(int Minimal, int Maximal)
        {
            return randomSeed.Next(Minimal, Maximal);
        }

        /// <summary>
        /// Returns a random boolean value
        /// </summary>
        /// <returns>Random boolean value</returns>
        public static bool RandomBool()
        {
            return (randomSeed.NextDouble() > 0.5);
        }

        /// <summary>
        /// Returns a random color
        /// </summary>
        /// <returns></returns>
        public static System.Drawing.Color RandomColor()
        {
            return System.Drawing.Color.FromArgb(
                randomSeed.Next(256), 
                randomSeed.Next(256), 
                randomSeed.Next(256)
            );
        }

    }

//使用范例:
// Generate a random word:
string RandomWord = RandomHelper.RandomString(10, true);

// Generate a random number:
int Number = RandomHelper.RandomNumber(0, 10);

// Generate a random boolean value:
bool Active = RandomHelper.RandomBool();

// Generate a random color:
Color Background = RandomHelper.RandomColor();

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。

上一篇:ruby连接mysql代码

下一篇:Ruby 连接PostgreSQL