C#学习第四天
今天主要学习了结构方面的知识,首先是定义,代码:
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#学习第四天的更多相关文章
- 从零开始学习jQuery (四) 使用jQuery操作元素的属性与样式
本系列文章导航 从零开始学习jQuery (四) 使用jQuery操作元素的属性与样式 一.摘要 本篇文章讲解如何使用jQuery获取和操作元素的属性和CSS样式. 其中DOM属性和元素属性的区分值得 ...
- 前端学习 第四弹: HTML(一)
前端学习 第四弹: HTML(一) 元素分类:块元素 内联元素 块级元素在浏览器显示时,通常会以新行来开始(和结束). 例子:<h1>, <p>, <ul>, &l ...
- C#可扩展编程之MEF学习笔记(四):见证奇迹的时刻
前面三篇讲了MEF的基础和基本到导入导出方法,下面就是见证MEF真正魅力所在的时刻.如果没有看过前面的文章,请到我的博客首页查看. 前面我们都是在一个项目中写了一个类来测试的,但实际开发中,我们往往要 ...
- Android Animation学习(四) ApiDemos解析:多属性动画
Android Animation学习(四) ApiDemos解析:多属性动画 如果想同时改变多个属性,根据前面所学的,比较显而易见的一种思路是构造多个对象Animator , ( Animator可 ...
- 五、Android学习第四天补充——Android的常用控件(转)
(转自:http://wenku.baidu.com/view/af39b3164431b90d6c85c72f.html) 五.Android学习第四天补充——Android的常用控件 熟悉常用的A ...
- 四、Android学习第四天——JAVA基础回顾(转)
(转自:http://wenku.baidu.com/view/af39b3164431b90d6c85c72f.html) 四.Android学习第四天——JAVA基础回顾 这才学习Android的 ...
- MVC学习(四)几种分页的实现(3)
在这篇MVC学习(四)几种分页的实现(2)博文中,根据URL中传入的两个参数(页码数,首页.上一页.下一页.末页的标记符)来获得对应的分页数据, 只是传入的参数太多,调用起来不太方便(标记符不能够写错 ...
- MyBatis学习 之 四、MyBatis配置文件
目录(?)[-] 四MyBatis主配置文件 properties属性 settings设置 typeAliases类型别名 typeHandlers类型句柄 ObjectFactory对象工厂 pl ...
- 【转】MyBatis学习总结(四)——解决字段名与实体类属性名不相同的冲突
[转]MyBatis学习总结(四)——解决字段名与实体类属性名不相同的冲突 在平时的开发中,我们表中的字段名和表对应实体类的属性名称不一定都是完全相同的,下面来演示一下这种情况下的如何解决字段名与实体 ...
- IOS学习笔记(四)之UITextField和UITextView控件学习
IOS学习笔记(四)之UITextField和UITextView控件学习(博客地址:http://blog.csdn.net/developer_jiangqq) Author:hmjiangqq ...
随机推荐
- 2014/09/30 Learning Note
Vbird Linux: Vim Learning: http://linux.vbird.org/linux_basic/0310vi.php Bash Shell: http://linux.vb ...
- centos jdk切换
#这里找下载路径 http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html ...
- MapReduce程序开发之流量求和(八)
1.分析记录手机流量的日志. 2.拿到日志中的一行数据,切分各个字段,抽取出我们需要的字段:手机号,上行流量,下行流量,然后封装成kv发送出去 3.使用java中的map方法: public clas ...
- 关于git服务器的搭建
Git 服务器可搭建在多个系统平台上. 本篇以 Windows 和 Ubuntu 系统为例,简单介绍 Git 服务器的构建. 最后使用 eclipse 的 egit 插件和 git clone 这两种 ...
- 2014年Facebook的开源成就
2014是Facebook开源硕果丰硕的一年,其开源项目经理詹姆斯·皮尔斯(James Pearce)连续12天发布开源博客文章展示全年该社交网站在此领域取得的成就. 皮尔斯公布的成就包括以下内容: ...
- siem主流厂商
http://www.scmagazine.com/siem/products/6428/5/ http://www.edu.cn/wlaq_6572/20131217/t20131217_10532 ...
- VBA读取word中的内容到Excel中
原文:VBA读取word中的内容到Excel中 Public Sub Duqu() Dim myFile As String Dim docApp As Word.Applicati ...
- Qt入门(14)——父窗口部件和子窗口部件
这个例子演示了如何创建一个父窗口部件和子窗口部件.我们下面使用一个单一的父窗口部件和一个独立的子窗口部件编写界面. #include <qvbox.h>我们添加了一个头文件qvbox ...
- sed文本处理--文本行扩展与分割
原文件: 00 abc sdfdsf1 2 45 3 400 xfd xdfssdf3 322 345 234 处理后文件: 00 abc sdfdsf 1 2 400 abc sdfdsf 5 3 ...
- ubuntu server配置xmanager
ubuntu server配置xmanager ubuntu是典型的多用户多任务操作系统,通过XDMCP方式可以轻松的实现远程的多用户同时登录ubuntu任务. www.2cto.com ...