文档章节

C#中数组从低级到高级的认识

robortly
 robortly
发布于 2015/01/30 23:04
字数 433
阅读 23
收藏 0
1.简单数组
int[] arr=new int[3]{3,1,2};
使用初始化器:
Person[] myPer =
            {
                new Person{FirstName="Ayrton",LastName="Senna"},
                new Person{FirstName="MiChael",LastName="schmacher"}
            };


2.多维数组
//.net 版本不一样导致黄色感叹号!
int[,] erwei = new int[3, 3];
      erwei[0, 0] = 1;erwei[1, 0] = 4;erwei[2, 0] = 7;
      erwei[0, 1] = 2;erwei[1, 1] = 5;erwei[2, 1] = 8;
      erwei[0, 2] = 3;erwei[1, 2] = 6;erwei[2, 2] = 9;
      或者:
int[,] erwei ={
       {1,2,3},
       {4,5,6},
       {7,8,9}
        };
----------------------三维数组---------------------
int[, ,] sanwei = {
                    { { 1, 2 }, { 3, 4 } },
                    { { 5, 6 }, { 7, 8 } },
                    { { 9, 0 }, { 1, 2 } }
                   };
 


3.锯齿数组
int[][] jagged = new int[3][];
      jagged[0] = new int[2] { 1, 2 };
      jagged[1] = new int[6] { 3, 4, 5, 6, 7, 8 };
      jagged[2] = new int[3] { 9, 10, 11 };


4.Array类




5.作为参数的数组


6.枚举


Client----IEnumerator--->Enumerator----IEnumerable-->Collection


7.元组
元组实现不同类型的作为一个组,数组实现相同类作为一个组。 Tuple 需要4.0的支持


8.结构比较
通过对比IEqualityComparer IStructuralEquatable的实现来说明结构相比较性


9.小结
从一维到多维,再从多维到锯齿型(长短不一),在看多维数组的时候养成这么一个眼光看:3维里面是由很多个二维组成,2维是由很多个一维组成的。
这样就可以很好的理解多维数组的数字下标的含义。
Array数组提供了很多便利的集合函数功能,可以很好的做统计,排序之类的操作,其中函数clone() 保证了原来的数据不变。
ArraySegment<int>[]  object[] params[]实现多参的传递,其中主义数组的协变问题。
Tuple元组需要4.0以上的版本支持,它可以很好的传递不同类型的变量。

© 著作权归作者所有

共有 人打赏支持
robortly

robortly

粉丝 10
博文 83
码字总数 55590
作品 0
深圳
技术主管
私信 提问
2016Java面试题精编版—类型转换

动力节点Java培训   面试题   Whichofthefollowingwillcompilecorrectly?(D)   Ashortmyshort=99S   Bintt=”abc”.length()   Cfloatz=1.0   Dcharc=17c   解析:shortmyshor......

忻峰作浪
2016/11/21
7
0
为什么会有这么多的编程语言

朋友 Kevin Kelleher 向我建议了一个比较各种编程语言的有趣方法:看看它们各自都是来解决什么问题的。可问题是,像这样去描述,你可以罗列出无数的语言,而且你可以使用各种的角度来描述。 ...

oschina
2013/01/15
9.7K
52
对 Redis 的简单配置和访问--Spring Data Redis

Spring Data Redis, 是 Spring Data 家族的子项目。它提供了 Spring 应用对 Redis 的简单配置和访问。低级和高级的抽象用于存储,使用户无需考虑考虑基础。...

sikkx
2015/08/12
4K
1
jOOQ 项目存在的原因

Featured article by oschina reproduced with permission by Data Geekery GmbH. English content copyright © 2013 by Data Geekery GmbH. 以下段落摘自 jOOQ用户手册的前言部分。值得思考......

oschina
2013/02/22
8.3K
14
论文阅读笔记:Visualizing and Understanding Convolutional Networks

概要描述 这是一篇发表于2014年很经典的论文,形成了很多对卷积神经网络的普遍认识,目前的引用数为,主要工作是的可视化,以及在此基础上做了一些分析,对于理解卷积神经网络很有裨益。 可视...

NoneLand
2017/08/20
0
0

没有更多内容

加载失败,请刷新页面

加载更多

技术复习-Spring事务

spring事务 1.事务传播机制 在spring中事务存在嵌套的情况,在这种情况下事务如何协调,spring在TransactionDefinition中设了七个规则,被称作事务的传播机制 1.TransactionDefinition.PROP...

Lubby
22分钟前
1
0
linux 虚拟机安装

一、虚拟化检查 1. 检查cpu是否支持 grep -E 'vmx|svm' /proc/cpuinfo 2. 检查虚拟化是否开启 lsmod |grep kvm 显示内容与截图一致,服务器已经开启了虚拟化的支持,如果没有前2条内容,...

小儿
22分钟前
2
0
Linux之系统日志简介

前言 日志在排查文件的时候至关重要,在Linux上一般跟系统相关的日志默认都会放到/var/log下面。 1、/var/log/boot.log 一般包含系统启动时的日志,包括自启动的服务。 2、/var/log/btmp 记录...

城市之雾
22分钟前
1
0
Android数据存储2 文件存储

1.内部存储(私有的,其他程序不能获取) a. 存:FileOutputStream fos = openFileOutput("file", MODE_PRIVATE); 读: FileInputStream fis = openFileInput("file"); 文件路径:data/data/当......

Coding缘
22分钟前
1
0
23种设计模式全解析

一、设计模式的分类 总体来说设计模式分为三大类: 创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。 结构型模式,共七种:适配器模式、装饰器模式、代理...

嘿嘿嘿IT
23分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部