zoukankan      html  css  js  c++  java
  • C# random helper class

    项目中经常需要模拟些假数据,来做测试。这个随机生成数据的helper类就应用而生:

    using System;
    using System.Text;
    using System.Windows.Media;
     
    namespace WpfApplication1.Helper
    {
        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();
            }
     
            public static int RandomInt(int min, int max)
            {
                return randomSeed.Next(min, max);
            }
     
            public static double RandomDouble()
            {
                return randomSeed.NextDouble();
            }
     
            public static double RandomNumber(int min, int max, int digits)
            {
                return Math.Round(randomSeed.Next(min, max - 1) + randomSeed.NextDouble(), digits);
            }
     
            public static bool RandomBool()
            {
                return (randomSeed.NextDouble() > 0.5);
            }
     
            public static DateTime RandomDate()
            {
                return RandomDate(new DateTime(1900, 1, 1), DateTime.Now);
            }
     
            public static DateTime RandomDate(DateTime from, DateTime to)
            {
                TimeSpan range = new TimeSpan(to.Ticks - from.Ticks);
                return from + new TimeSpan((long)(range.Ticks * randomSeed.NextDouble()));
            }
     
            public static Color RandomColor()
            {
                return Color.FromRgb((byte)randomSeed.Next(255), (byte)randomSeed.Next(255), (byte)randomSeed.Next(255));
            }
     
        }
    }

    作者:旭东
    出处:http://www.cnblogs.com/HQFZ
    关于作者:专注于微软平台项目架构、管理和企业解决方案。现主要从事WinForm、ASP.NET、WPF、WCF、等方面的项目开发、架构、管理。如有问题或建议,请不吝指教!
    本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。如有问题,可以联系我,非常感谢。
    如果您该文觉得不错或者对你有帮助,请点下推荐,让更多的朋友看到,谢谢!

  • 相关阅读:
    NoSQL生态系统——hash分片和范围分片两种分片
    NoSQL生态系统——事务机制,行锁,LSM,缓存多次写操作,RWN
    W5500 keep-alive的用途及使用
    APUE学习总结
    Web Socket rfc6455 握 (C++)
    java.nio分析软件包(三)---Charset理解力
    比量iOS6/iOS7, 3.5inch/4.0inch
    【从翻译mos文章】rac数据库,HC_&lt;SID&gt;.dat其他文件Oracle_Home用例下。
    Type mismatch: cannot convert from Enumeration&lt;String&gt; to Enumeration&lt;Object&gt;
    c++宏源证券编程
  • 原文地址:https://www.cnblogs.com/HQFZ/p/4120360.html
Copyright © 2011-2022 走看看