我是靠谱客的博主 会撒娇美女,最近开发中收集的这篇文章主要介绍c#编程最佳实践:合适的集合, 选择Dic字典、List列表还是Array数组,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

 

对于许多类型,我们宁愿不决定在日常编程生活中使用什么数据类型。就在几个月前,我也是其中之一。但是当我开始学习编程中的最佳实践以提高代码性能时,我了解到了错误的数据类型是如何影响代码的。我将展示一个演示来证明这个概念。

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#编程最佳实践:合适的集合, 选择Dic字典、List列表还是Array数组所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(32)

评论列表共有 0 条评论

立即
投稿
返回
顶部