小编Car*_*ter的帖子

为什么 C# linq Distinct 方法更快

我已经用 any 检查了嵌套循环的不同性能。但是 Distinct Method 比嵌套循环快得多。

var customers = new List<Customer>();

            for (var i = 1; i <= 100000; i++)
            {
                var id = (int)Math.Floor((decimal)i / 10);
                var customer = new Customer()
                {
                    FirstName = $"Name {i}",
                    ID = id,
                    LastName = $"Last {i}"
                };

                customers.Add(customer);
            }

            System.Console.WriteLine($"Outer Loop start :{DateTime.UtcNow}");

            var ids = new List<int>();

            customers.ForEach(_=> {
                ids.Add(_.ID);
            });

            var uniqueIds = ids.Distinct();

            System.Console.WriteLine($"Outer Loop End :{DateTime.UtcNow}");

            System.Console.WriteLine($"Nested Loop start :{DateTime.UtcNow}");

            var oids = new List<int>();

            customers.ForEach(_ => { …
Run Code Online (Sandbox Code Playgroud)

c# linq optimization performance

0
推荐指数
1
解决办法
341
查看次数

标签 统计

c# ×1

linq ×1

optimization ×1

performance ×1