C# 动态生成大数据

直接上代码:

 1、

 public  void Test()
        {
            var dogs = new ConcurrentDictionary();//字典 线程安全
                                                            // 并行生成1000万条数据条数据
            Parallel.For(0, 10_000_000, (i) =>
            {
                var single = new dog
                {
                    Id = i,
                    Name = "name" + i,
                    Year = new Random().Next(1, 20),//狗狗活的年数
                    CreateTime = DateTime.Now.AddSeconds(i)
                };
                dogs.TryAdd(i, single);//写入到dogs字典里
            });
            Console.WriteLine("数据成功写入"+dogs.Count/10000+"万条");
            Console.WriteLine("数据已生成");

            // PLINQ查询
            var watch = new Stopwatch();
            watch.Start();
            var query1 = (from n in dogs.Values.AsParallel()//这里标志用了plinq
                          where n.Year > 5 && n.Year < 12
                          select n).ToList();
            watch.Stop();
            Console.WriteLine("PLINQ耗时:{0}", watch.ElapsedMilliseconds);
            // LINQ查询
            watch.Restart();
            var query2 = (from n in dogs.Values
                          where n.Year > 5 && n.Year < 12
                          select n).ToList();

            watch.Stop();
            Console.WriteLine("LINQ耗时:{0}", watch.ElapsedMilliseconds);
        }

2、public class dog
    {
        public int Id { get; set; }
        public string Name { get; set; }
        public int Year { get; set; }
        public DateTime CreateTime { get; set; }
    }

你可能感兴趣的:(c#,前端,服务器)