数组是引入类型

// 编译成功string[] sz = { "a", "a", "a" };object[] oz = sz;// 编译失败,值类型的数组不能被转换int[] sz2 = { 1, 2, 3 };object[] oz2 = sz;// 编译失败,两者维数不同string[,] sz3 = { { "a", "b" }, { "a", "c" } };object[] oz3 = sz3;

class Program{static void Main(string[] args){String[] times ={"2008-1-1","2008-1-2","2008-1-3"};// 使用不同的方法转换DateTime[] result1 = OneByOne(times);DateTime[] result2 = ConvertAll(times);// 结果是相同的Console.WriteLine("手动逐个转换的方法:");foreach (DateTime item in result1){Console.WriteLine(item.ToString("yyyy-MM-dd"));}Console.WriteLine("使用Array.Convert方法:");foreach (DateTime item2 in result2){Console.WriteLine(item2.ToString("yyyy-MM-dd"));}Console.ReadKey();}// 逐个手动转换private static DateTime[] OneByOne(String[] times){List<DateTime> result = new List<DateTime>();foreach (String item in times){result.Add(DateTime.Parse(item));}return result.ToArray();}// 使用Array.ConertAll方法private static DateTime[] ConvertAll(String[] times){return Array.ConvertAll(times,new Converter<String, DateTime>(DateTimeToString));}private static DateTime DateTimeToString(String time){return DateTime.Parse(time);}}

从上述代码可以看出,二者实现了相同的功能,但是Array.ConvertAll不需要我们手动地遍历数组,也不需要生成一个临时的容器对象,更突出的优势是它可以接受一个动态的算法作为具体的转换逻辑。当然,明眼人一看就知道,它是以一个委托的形式作为参数传入,这样的机制保证了Array.ConvertAll具有较高的灵活性。
 

.NET 数组之间进行转换 Array.ConvertAll相关推荐

  1. keras自定义simm作为损失函数,并且实现Tensor和数组之间的转换

    ssim介绍 在比较两幅图像误差或者相似度时,常用的衡量方法有MAE和MSE, https://blog.csdn.net/u011875342/article/details/78036380 但是 ...

  2. C# 16进制与字符串、字节数组之间的转换

    在串口通讯过程中,经常要用到 16进制与字符串.字节数组之间的转换 字符串转16进制字节数组  1         private static byte[] strToToHexByte(strin ...

  3. java array to string_数组到字符串转换(Array to string conversion)

    数组到字符串转换(Array to string conversion) 这段代码有什么问题? 我不明白. 这是错误代码: 注意:第12行的C:\ xampp \ htdocs \ stage \ r ...

  4. List和数组之间互相转换

    List和数组之间互相转换 List转数组 Integer[] numberArr=new Integer[]{1,2,3} 方法一:使用Arrays.asList() 不支持添加.删除元素(如果不需 ...

  5. python中数组转矩阵_python实现矩阵和array数组之间的转换

    python 列表.矩阵.数组之间的关系 矩阵可以实现多维切片,如: b = m[1:10, 3:20] 但是 多维列表却不可以首先,没见过b = m[1:10, 3:20] 这种写法,小编试了一下有 ...

  6. js中字符串与数组之间的转换

    本文实例介绍了javascript中字符串和数组的相互转换方法,分享给大家供大家参考,具体内容如下 字符串和数组的相互转换操作是非常的重要的,因为在实际编码过程中会经常用到,所以这是必须要掌握的知识点 ...

  7. Breeze矩阵和数组之间的转换

    breeze的数组和矩阵非常好用,不会像scala原生的数组矩阵那样操作复杂,两者之间的转换也非常方便,需要注意的是breeze矩阵转回数组时是按列输出的. "` scala //array ...

  8. java byte转16进制_Java 十六进制(Hex)与byte数组之间的转换

    一.十六进制(Hex)与字节(byte)的概念 十六进制(Hex):计算机中数据的一种表示方法,它由0-9,A-F组成,字母不区分大小写.与10进制的对应关系是:0-9对应0-9:A-F对应10-15 ...

  9. java byte数组转化为流_java中字节数组和字符串、IO流和字节数组之间的转换

    在实际开发中经常会碰到乱码问题: 首先查看系统支持的编码方式,默认的编码方式 //检查java支持的编码 System.out.println(Charset.availableCharsets(). ...

最新文章

  1. boost::container模块实现内存资源记录器的程序
  2. 谈谈我对MVC的View层实现的理解
  3. mysql 索引- 笔记
  4. 一天能学会的计算机技术
  5. printf 规定数据输出方式
  6. Kotlin的继承(二)
  7. 计算两个经纬度的距离_HTML5 地理定位+地图 API:计算用户到商家的距离
  8. 在职测试多年整理了自己常用的Linux命令...
  9. 安装adb、选择合适的 adb 版本
  10. JavaSE--RMI初识
  11. 几组数据的相关性python_Python+pandas计算数据相关系数的实例
  12. version `GLIBC_2.14' not found 解决方法.
  13. [PAT] PAT注意点
  14. js/javaScript通过setTimeout做动画和需要注意的点
  15. 3秒钟解决windows字符间距变大,输入字母间距变大问题
  16. tomcat 设置缓存大小
  17. 全网最详细最基础的网络安全入门教程
  18. CPen虚线无效问题
  19. 标定学习笔记(九)-- 利用空间正交约束的相机自标定和三维重建
  20. 【selenium学习笔记】selenium自动化测试环境安装

热门文章

  1. Unity3D 实现录音小案例
  2. git hook 自动部署 linux git本地服务器搭建 git root 目录 git 仓库 git root/ .git
  3. 松果在线报名系统网站源码
  4. 投研报告 - Ariva(ARV)
  5. matlab关于年月日的程序,自己编的小程序!Matlab日期计算
  6. DBeaver(数据库管理软件) v22.0.1 使用安装教程
  7. CodeForces - 768B Code For 1(找规律)
  8. 关于九针串口的公头和母头
  9. Windows命令之 -- Del 删除指定文件
  10. matlab的多变量dmc源程序,基于MATLAB多变量DMC算法仿真技术研究