广告
返回顶部
首页 > 资讯 > 精选 >C#数组初始化的应用方法
  • 488
分享到

C#数组初始化的应用方法

2023-06-17 22:06:42 488人浏览 安东尼
摘要

本篇内容介绍了“C#数组初始化的应用方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!C#数组初始化的应用在数据压缩方面的应用是什么呢?我们

本篇内容介绍了“C#数组初始化的应用方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

C#数组初始化的应用在数据压缩方面的应用是什么呢?我们经常用到数组。每到一定时候就需要对数组全部元素进行清零。由于C#不提供memset()方法。那么让我们尝试以下的测试

C#数组初始化主要程序部份:

static void Main(string[] args)  {  int i,k;  double p = 0;  DateTime s, e;  byte[] test = new byte[65536];  byte[] test2 = new byte[65536];  for(int i = 0; i < 10; i++)  {  s = DateTime.Now;  for(j=0; j<50000; j++)  {  //  }  e = DateTime.Now;  TimeSpan c = e - s;  Console.WriteLine(c.TotalMilliseconds.ToString());  p += c.TotalMilliseconds;  }   p /= 10;  Console.WriteLine("***" + p.ToString() + "***");  Console.Read();  }

将其中注释部份替换成以下几种方法:

test = new byte[65536];

这种方法显而易懂,每次都新建数组,里面的数值当然都是0啦。

memset(test,0,65536);

仿照c++自写一个memset函数:

public static void memset(byte[] buf, byte val, int size)  {  int i;  for(i=0; i < size; i++)  buf[i] = val;  }

for(k = 0; k < 65536; test[k++] = 0);
把函数memset直接写入注释部份。这样的想法很简单,节省调用函数的开销。

Array.Clear(test,0,65536);

直接使用.net自带方法。

test2.CopyTo(test, 0);

用空数组向目标数组中复制内容。

然后理行测试,结果如下:

方法最长最短平均

方法1:最长1937.5最短1812.5平均1842.1875

方法2:最长4593.75最短4625平均4584.375

方法3:最长6046.875最短5984.375平均6001.5625

方法4:最长562.5最短640.5平均581.25

方法5:最长812.5最短750平均770.3125

计算机:P43.0E(超线程开启)/DDR400 512M(双通道)软件环境:Win XP - Sp2/VS2003单位:毫秒(ms)

结果很显然,Array.Clear()方法是最终的优胜者。但它有一个缺点,就是只可以将数组清空(零)。如果要把数组设置为某一特定格式CopyTo()以空间换时间的方式是***的。

只有一点看不明白,把第2种函数调用改成第3种内嵌式算法后,效率反而下降了。这只能解释为编译器的优化了。看来用C#写程序不用太关心函数调用的开销。

“C#数组初始化的应用方法”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

--结束END--

本文标题: C#数组初始化的应用方法

本文链接: https://www.lsjlt.com/news/294096.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C#数组初始化的应用方法
    本篇内容介绍了“C#数组初始化的应用方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!C#数组初始化的应用在数据压缩方面的应用是什么呢?我们...
    99+
    2023-06-17
  • c++数组初始化的方法是什么
    C++中有多种方式可以初始化数组:1. 使用赋值语句逐个初始化数组元素。```cppint arr[5];arr[0] = 1;ar...
    99+
    2023-09-28
    c++
  • c++指针数组初始化的方法是什么
    C++中,可以使用以下方法来初始化指针数组:1. 使用一维数组初始化指针数组:cppint arr[] = {1, 2, 3};in...
    99+
    2023-10-18
    c++
  • c语言数组初始化的方法是什么
    C语言中数组的初始化方法有多种,具体方法取决于数组的类型和使用场景。以下是常见的数组初始化方法:1. 逐个赋值初始化:逐个为数组的每...
    99+
    2023-10-10
    c语言
  • C#怎么初始化数组
    本篇内容介绍了“C#怎么初始化数组”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!初始化数组声明一个数组不会在内存中初始化数组。当初始化数组变...
    99+
    2023-06-17
  • c语言char数组初始化的方法是什么
    在C语言中,有几种方法可以初始化char数组。 使用字符串字面量进行初始化: char str[] = "Hello"; 使...
    99+
    2023-10-23
    c语言
  • C#基类的初始化方法
    今天小编给大家分享一下C#基类的初始化方法的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。基类的初始化派生类继承了基类的成员变...
    99+
    2023-06-17
  • c++数组初始化的方式有哪几种
    C++数组可以使用以下几种方式进行初始化:1. 使用花括号{}初始化:cppint arr1[] = {1, 2, 3, 4, 5}...
    99+
    2023-10-18
    c++
  • C语言指针数组初始化的方法是什么
    C语言中,指针数组的初始化可以通过以下两种方式实现:1. 逐个初始化:可以使用类似于普通数组的方式逐个为指针数组的元素赋值。例如:c...
    99+
    2023-10-18
    C语言
  • c语言数组初始化为0的方法是什么
    C语言数组初始化为0的方法有以下几种:1. 使用循环将每个元素赋值为0:```cint arr[10];for(int i = 0;...
    99+
    2023-10-08
    c语言
  • c语言二维数组初始化的方法是什么
    在C语言中,有多种方式可以初始化二维数组。1. 使用循环进行逐个赋值:```cint arr[3][3];int i, j;for(...
    99+
    2023-08-31
    c语言
  • C#中如何初始化数组
    这篇文章给大家介绍C#中如何初始化数组,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。C#数组初始化int[] iArray = new int[3]{2, 3, 4} 花括号被称为数组初始化器,数组初始化器只能在声明数...
    99+
    2023-06-17
  • C#中怎么初始化数组
    这篇文章给大家介绍C#中怎么初始化数组,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。C#数组初始化三大方法示例// Single-dimensional array (numbers).&...
    99+
    2023-06-17
  • golang数组初始化的方法是什么
    在Go语言中,可以使用以下方法初始化数组:1. 使用var关键字声明数组,并在声明时指定数组的长度,数组的元素会被自动初始化为对应类...
    99+
    2023-09-27
    golang
  • delphi数组初始化的方法是什么
    在Delphi中,有几种初始化数组的方法:1. 手动初始化:可以通过逐个指定数组元素的值来手动初始化数组。例如:```delphiv...
    99+
    2023-09-22
    delphi
  • java初始化数组的方法是什么
    Java中初始化数组有以下几种方法:1. 静态初始化:在声明数组的同时直接为数组元素赋值。```javaint[] arr = {1...
    99+
    2023-08-29
    java
  • php数组初始化方法有哪些
    今天小编给大家分享一下php数组初始化方法有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。3种方法:1、利用“[]”单独...
    99+
    2023-06-30
  • php有几种数组初始化方法
    3种方法:1、利用“[]”单独给元素赋值,语法“$数组变量名[下标]=值;”;2、用“[]”把所有元素一起初始化,语法“$数组变量名=[键值列表];”;3、用array()把所有元素一起初始化,语法“$数组变量名=array(键值列表)”。...
    99+
    2022-06-14
    php数组 php
  • C语言常见问题——数组初始化的四种方法
    在C语言中,我们可以使用四种方法来初始化数组:1. 逐个赋值初始化:通过为数组的每个元素赋值来初始化数组。例如:```cint ar...
    99+
    2023-09-13
    C语言
  • C语言数组初始化的方式有哪些
    C语言数组的初始化方式有以下几种:1. 使用花括号{}初始化:可以使用花括号{}将一组初始值按顺序赋给数组元素。例如:int arr...
    99+
    2023-09-04
    C语言
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作