对于许多类型,我们宁愿不决定在日常编程生活中使用什么数据类型。就在几个月前,我也是其中之一。但是当我开始学习编程中的最佳实践以提高代码性能时,我了解到了错误的数据类型是如何影响代码的。我将展示一个演示来证明这个概念。
static void Main(string[] args){List<Int32> li = new List<int>();Stopwatch sw =new Stopwatch();sw.Start();for (int i = 0; i < 10000; i++){li.Add(i);}sw.Stop();Console.Write("Using Arraylist(Object)" + sw.ElapsedTicks + "n");sw.Reset();sw.Start();Int32[] a = new Int32[10000];for (int i = 0; i < 10000; i++){a[i] = i;}sw.Stop();Console.Write("Using Value(Integer Array)" + sw.ElapsedTicks);Console.ReadLine();}

在上面的代码中,首先我使用了一个list来存储1000个整数值,在第二次执行相同的操作时,我使用了一个整数数组。我的输出截图显示了哪种存储机制最适合整数数组。现在,你可能会想为什么这个list要花更多的时间呢?原因是,list以对象格式存储数据,当我们首先尝试存储值类型时,它将其转换为引用类型,然后再存储。因此,第一点是始终选择适当的存储机制以获得最佳性能。
根据你的目的选择最好的集合
我们.net开发人员非常熟悉c#中的集合以及它们用来存储值的方法。让我们看看它们是如何执行搜索的。查看搜索整数的性能。这是我的代码。
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Diagnostics;using System.IO;using System.Net;using System.Net.NetworkInformation;namespace Test1{class Program{static void Main(string[] args){List<Int32> li = new List<Int32>(1000);Dictionary<int, int> di = new Dictionary<int, int>(1000);int[] arr = new int[1000];int a;for (int i = 0; i < 1000; i++){li.Add(i);di.Add(i, i);arr[i] = i;}Stopwatch sw = new Stopwatch();sw.Start();a = li[500];sw.Stop();Console.WriteLine("From list:- " + sw.ElapsedTicks);sw.Start();a = arr[500];sw.Stop();Console.WriteLine("From Integer array:- " + sw.ElapsedTicks);sw.Restart();a = di[500];sw.Stop();Console.WriteLine("From Dictionary:- " + sw.ElapsedTicks);Console.ReadLine();}}}
输出在这里:

我们可以清楚地看到,在字典的情况下,搜索的性能是最差的,而在list和整数数组的情况下,性能非常相似。

—
最后
以上就是会撒娇美女最近收集整理的关于c#编程最佳实践:合适的集合, 选择Dic字典、List列表还是Array数组的全部内容,更多相关c#编程最佳实践:合适的集合,内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复