C#的数组和集合

本文介绍了在C#编程中如何保存图片,以及C#数组(一维、二维和三维)的声明、初始化方法。同时对比了C#的ArrayList、Stack、Queue、Hashtable和SortedList等集合类与Python列表的特点和用法。
摘要由CSDN通过智能技术生成

C#的数组和集合

一、对于图片的保存

实现在visionPro里对图片的保存还是很重要的一部分,因为我们调试视觉很多时候我们一般都要调试几天,验证几周才能得出这个算法是稳定状态,而我们就得保存一些OK图和NG图以便我们后面的调试优化工作。废话不多说,直接贴上代码。

 CogImageFile ImageFile = new CogImageFile();
 try 
 {	        
      if(!System.IO.Directory.Exists(imagePath))
      {
          System.IO.Directory.CreateDirectory(imagePath);
      }
      ICogImage image = pma2.InputImage;
      ImageFile.Open(imagePath + "\\" + DateTime.Now.ToString("HH-mm-ss-fff") + ".bmp", CogImageFileModeConstants.Write);
      ImageFile.Append(image);
}
catch{}
finally
{
      ImageFile.Close();
}

二、C#中的数组和集合

对于我们而言,写代码对于数组的应用真的特别多,但又不是专业的码农有时候真的会经常忘记,记录一下数组的用法!我在这个行业应用比较多的语言就是C#和Python,所以只记录这两种语言。

C# 数组的声明及初始化:
 - 一维数组
 1. int [] a;  a = {1,12,2};  //先声明后初始化,这个我比较习惯用
 2. int [] a = new int[3];
 3. int [] a = {1,12,2};     //声明并初始化;
 4. int [] a = new int[3]{1,12,2};
 
 - 二维数组:
 1.int [,] a;  a = {{1,12,3},{2,4,5}};
 2.int [,] a = new int[2, 3];
 3.int [,] a = {{1,12,3},{2,4,5}};
 4.int [,] a = new int[2, 3]{{1,12,3},{2,4,5}};

 - 三维数组:
 1.int[,,] array = new int[2, 3, 2]; //三维数组我一般只声明,用的时候再直接赋值
 2.int[,,] a = new int[2, 3, 2]{{{1,2},{3,4},{5,6}},{{1,2},{3,4},{5,6}}};
集合与数组比较类似,并且提供了很多功能的集合类,他们的共同父类为System.Collection,常用的有一下几个

 1. ArrayList:集合中元素的个数是可变的(动态数组),也可以存放不同类型,有添加、删除等方法。与数组不同的是,它可以使用索引在指定的位置添加和移除项目,动态数组会自动重新调整它的大小。

--创建一个实例 :ArrayList listl=new ArrayList() 或者 ArrayList list4 = new ArrayList(){l,2,3,4}

 2. Stack:先进后出的机制,元素在集合的尾部添加、在***尾部***移除
 3. Queue:先进先出的机制,元素在集合的尾部添加、在***头部***移除
 4. Hashtable:元素是以键值对的形式存放的
 5. SortedList:与 Hashtable 集合类似,元素以键值对存放,但该集合会按照 key 值自动将元素排序
Python 没有数组结构,数组被称为列表(list),声明及初始化:

 1.a = [1,2,3,4]				#一维列表
 2.a = [[0,1],[2,3],[4,5]]		#二维列表
 3.a = [[1] * 4]  等于 a = [1,1,1,1]
 4.a = [[] for i in range(3)]
列表中包含任意数量的项。列表中的项不必具有相同的类型。

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值