今天主要学习了结构方面的知识,首先是定义,代码:

struct<typeName>

{

  <memberDeclarations>

}

struct route

{

  public orientation direction;

  public double distance;

}

定义新类型变量

route myRoute

通过句点字符访问这个组合变量中的数据成员

myRoute.direction=orientation.north;

myRoute.distance=2.5;

结构和枚举一样,在代码的主体之外声明。结构这个方面在以后用到的情况可能有恁多,在练习中会慢慢了解。

接下来介绍重要的知识:数组

首先是声明:

<baseType>[]<name>;

初始化:

(1)int[]myIntArray={5,9,10,2,99};

其中myIntArray有五个元素,每个元素被赋予一个整数值

(2)int[]myIntArray=new int[5];

第二种会给所有的数组元素赋予同一个默认值,对于数值类型来说,默认值是0

当然,还可以使用这两种的结合:

int[]myIntArray=new int[5]{5,6,7,3,8};

数组名.Length   //来确定数组中的元素个数

应用foreach循环可以定位数组中的每个元素,例子:

foreach(<baseType><name>in<array>)

{

  //can use <name>foreach element

}

这个循环不会迭代每个元素,依次把每个元素放在变量name中,且不存在访问非法元素的危险,例子:

foreach(string friendName in friendNames)

{

  Console.WriteLine(friendName);

}

这段代码的作用是输出数组<friendNames>中的所有元素

注:foreach执行只读操作

多维数组声明:

<baseType>[,,,]<name>;    //四维数组

<baseType>[,]<name>;    //二维数组

初始化:

double[,]hillHeight=new double[3,4];    //定义三行四列的数组

初始化并且赋值:

double[,]hillHeight={{1,2,3,4},{2,5,7,3},{8,45,1,3},{5,5,7,9}};

访问:

hillHeight[2,1];//将访问上式中第三个嵌套组中的第二个元素

注:从0开始索引

可用foreach循环进行访问,例子:

double[,]hillHeight={{1,2,3,4},{4,5,6,7},{5,6,7,8}};

foreach(double height in hillHeight)

{

  Console.WriteLine("{0}",height);

}

//编译出来的结果是

1

2

3

4

4

5

6

7

5

6

7

8

接下来是数组的数组

多维数组称为矩形数组,每行的元素个数相等也可以使用锯齿数组,每行都可以有不同的元素个数,也就是数组的数组

声明

int[][]jaggedIntArray;

有两种方法可以初始化数组的数组

先初始化

jaggedIntArray=new int[2][];

jaggedIntArray=new int[3];

jaggedIntArray=new int[4];

也可以使用另一种方式:

jaggedIntArray=new int[3][]{new int[]{1,2,3},new int[]{1},new int[]{1,2}};

也可以初始化并声明

foreach循环访问

int[][]array1={new int[]{1,2},new int[]{3}};

foreach(int[]array4 in array1)

{

  foreach(int divisor in array4)

    {

      Console.WriteLine(divisor);

    }

}

今天就这些啦,需要熟练。

C#学习第四天的更多相关文章

  1. 从零开始学习jQuery (四) 使用jQuery操作元素的属性与样式

    本系列文章导航 从零开始学习jQuery (四) 使用jQuery操作元素的属性与样式 一.摘要 本篇文章讲解如何使用jQuery获取和操作元素的属性和CSS样式. 其中DOM属性和元素属性的区分值得 ...

  2. 前端学习 第四弹: HTML(一)

    前端学习 第四弹: HTML(一) 元素分类:块元素 内联元素 块级元素在浏览器显示时,通常会以新行来开始(和结束). 例子:<h1>, <p>, <ul>, &l ...

  3. C#可扩展编程之MEF学习笔记(四):见证奇迹的时刻

    前面三篇讲了MEF的基础和基本到导入导出方法,下面就是见证MEF真正魅力所在的时刻.如果没有看过前面的文章,请到我的博客首页查看. 前面我们都是在一个项目中写了一个类来测试的,但实际开发中,我们往往要 ...

  4. Android Animation学习(四) ApiDemos解析:多属性动画

    Android Animation学习(四) ApiDemos解析:多属性动画 如果想同时改变多个属性,根据前面所学的,比较显而易见的一种思路是构造多个对象Animator , ( Animator可 ...

  5. 五、Android学习第四天补充——Android的常用控件(转)

    (转自:http://wenku.baidu.com/view/af39b3164431b90d6c85c72f.html) 五.Android学习第四天补充——Android的常用控件 熟悉常用的A ...

  6. 四、Android学习第四天——JAVA基础回顾(转)

    (转自:http://wenku.baidu.com/view/af39b3164431b90d6c85c72f.html) 四.Android学习第四天——JAVA基础回顾 这才学习Android的 ...

  7. MVC学习(四)几种分页的实现(3)

    在这篇MVC学习(四)几种分页的实现(2)博文中,根据URL中传入的两个参数(页码数,首页.上一页.下一页.末页的标记符)来获得对应的分页数据, 只是传入的参数太多,调用起来不太方便(标记符不能够写错 ...

  8. MyBatis学习 之 四、MyBatis配置文件

    目录(?)[-] 四MyBatis主配置文件 properties属性 settings设置 typeAliases类型别名 typeHandlers类型句柄 ObjectFactory对象工厂 pl ...

  9. 【转】MyBatis学习总结(四)——解决字段名与实体类属性名不相同的冲突

    [转]MyBatis学习总结(四)——解决字段名与实体类属性名不相同的冲突 在平时的开发中,我们表中的字段名和表对应实体类的属性名称不一定都是完全相同的,下面来演示一下这种情况下的如何解决字段名与实体 ...

  10. IOS学习笔记(四)之UITextField和UITextView控件学习

    IOS学习笔记(四)之UITextField和UITextView控件学习(博客地址:http://blog.csdn.net/developer_jiangqq) Author:hmjiangqq ...

随机推荐

  1. 分布式系统间通信之RPC的基本概念(六)

    RPC(Remote Procedure Call Protocol)远程过程调用协议.一个通俗的描述是:客户端在不知道调用细节的情况下,调用存在于远程计算机上的某个对象,就像调用本地应用程序中的对象 ...

  2. [BZOJ 3791] 作业 【DP】

    题目链接:BZOJ - 3791 题目分析 一个性质:将一个序列染色 k 次,每次染连续的一段,最多将序列染成 2k-1 段不同的颜色. 那么就可以 DP 了,f[i][j][0|1] 表示到第 i ...

  3. [UOJ Round#4 A] [#51] 元旦三侠的游戏 【容斥 + 递推】

    题目链接:UOJ - 51 据说这题与 CF 39E 类似. 题目分析 一看题目描述,啊,博弈论,不会!等待爆零吧... 这时,XCJ神犇拯救了我,他说,这题可以直接搜啊. 注意!是用记忆化搜索,状态 ...

  4. 自制SCVMM 模板成功

    其实,如果通过SCVMM 的PS命令来创建虚拟机的话,模板的意义也不是特别大. 其它的PROFILE和硬件配置都会被替换掉的. ~~~~~~~~~~~~~~~ Windows模版 一. 准备OS的VH ...

  5. Java中的移位操作符

    记住所有的移动位数,针对的都是补码来讲的,所以要先将十进制整数转换成补码后,然后再来进行移位操作 移位操作 还要注意类型的约束条件,例如int,移动范围是0-31位,所以看补码只能看最后五位,这才是有 ...

  6. Finding Nemo(bfs)

    Time Limit: 2000MS   Memory Limit: 30000K Total Submissions: 6988   Accepted: 1600 Description Nemo ...

  7. bzoj2588

    一开始一看树上的操作,就无脑写了树链剖分+主席树 然后果断T了,因为树链剖分+主席树必然带来两个log的复杂度 而且树链剖分复杂度还比较大…… 后来发现其实没必要,在这道题,我们可以直接利用主席树维护 ...

  8. (转载)php数组添加、删除元素的方法

    (转载)http://www.phpgs.com/html/php/phpjichu/20120130440.html 带来一篇php 数组 添加元素.删除元素的方法的文章,有需要的php学习者参考下 ...

  9. Safecracker(搜索)

    http://acm.hdu.edu.cn/showproblem.php?pid=1015 / 题意; 从所给的一串字符串中选出5个字母假如是(A B C D E)使得A-B^2+C^3-D^4+E ...

  10. Lost's revenge - HDU 3341 (自动机+DP)

    题目大意:先给你一些子串,然后给你一个母串,母串里面的字母可以任意调换位置,问最多这个母串经过一些位置变动最多能包含多少个子串.   分析:可以比较明显的看出来的DP,先求出来ATGC分别有多少,然后 ...