C#入门基础三四
数组:数组是一组具有相同类型的值的集合,可以通过索引来访问数组中的元素。
声明数组的语法: A.数据类型 [] 数组名称; B.数据类型 [] 数组名称 = new 数据类型[数组大小]; C.int [] arr = {1,3,4,5,5,3,}; 通过指定位置索引:arr[0]
多维数组:多个线性数组的值 .GetLength() 一维:int [] arr = new int[2]; 二维:int [,] arr = new int[3,5]; 三维:int [,,] arr = new int[2,4,5]; 多维数组使用GetLength获取长度,维数同样是从0开始。
交错数组:“数组中数组”。() .Length 声明语法:int [][] arr = new int[2][];//arr包含两个元素 int [0] = new int[2];//第一个元素是两个整数的数组 int [1] = new int[3];//第二个元素是三个整数的数组 赋值:arr[0][0] = 100; 与多维数组相比较,交错数组具有更好的性能。
System.Array数组: 声明语法:Array arr = Array.CreateInstance(typeof(int),3);//类型为int,长度为3 typeof关键字用于数据类型。 ============================================================================== Using System.Collections 集合:使用count获取集合长度。 Hashtable集合:语法:Hashtable name = new Hashtable(); 例:Hashtable hs = new Hashtable(); //添加 hs.Add(4,"张三"); hs.Add(6,"李四"); hs.Add(7,"王五"); //hs.Remove(4);//删除 //Console.WriteLine(hs.Count);//获取集合长度 Console.WriteLine(hs["Key"]);//获取key值 Console.WriteLine(hs["Values"]);//获取values值 //foreach遍历数组Values值 foreach(object lan in hs.Values ) { Console.WriteLine(lan.ToString()); }
ArrayList集合:语法:ArrayList name = new ArrayList(); 例: ArrayList al = new ArrayList(); //添加元素 al.Add(12); al.Add("蓝天"); al.Add(3.14); al.RemoveAt(0);//移除数组列表中指定的索引位置的元素 al.Insert(0,"O(∩_∩)O哈哈~");//插入数组列表中指定的索引位置 Remove:移除元素。TrimToSize:将容量设置为ArrayList中元素的实际数目 for (int i = 0; i < al.Count;i++ ) { Console.WriteLine(al[i]);//循环输出所有元素 }
============================================================================== 数组与集合的区别:
数组 集合 使用length获取长度 使用count获取长度 固定的长度 非固定长度,可增可删(object) 区别 数据类型固定(申请什么类型就得添加什么类型的值) object类型(任意添加任何类型) 直接赋值 使用Add添加 for foreach system下 collection下 ============================================================================== hashtable与Arraylist的区别: hashtable键值映射,简单说键对应值,我们认给每值都起名字,键所谓名字,我们通过名字来寻找值,而arraylist集合,线性结构存储数据,集合存储内容都值,并且我们给每值用索引做编号,所遍历过程我们用索引;
arraylist有序,而hashtable无序;
arraylist可在特定位置添加、删除元素,而hashtable只能顺序添加。
arraylist 索引为0 hashtable object(自定义) ============================================================================== 嵌套循环:外层循环用来控制输出的行数,内层循环用来控制输出的列数。
//99乘法表 for(int i = 0;i <= 9;i++) { for (int j = 0; j < i;j++ ) { Console.WriteLine((j+1)+"*"+i+"="+(i*(j+1))+" "); } Console.WriteLine("\n"); }
冒泡排序:数组元素的排序。 (一种算法)
两层循环嵌套:外层循环 N-1 内层循环 N-1-i (N 代表数组或集合的长度)
例: //冒泡排序 int[] arrl = {3,6,2,7,9,12,4 };//申请数组 int temp;//定义全局变量 for(int i = 0;i < arrl.Length-1;i++)//控制比较的趟数,这个循环一次表示比较了一趟 { for (int w = 0; w < arrl.Length - i - 1; w++) { if(arrl[w] < arrl[w+1]) { temp = arrl[w]; arrl[w] = arrl[w+1]; arrl[w+1] = temp; } } } foreach(int wy in arrl)//遍历输出排序之后的数组 { Console.WriteLine(wy); }
==============================================================================
错误调试: try{//抛出异常 //程序代码; }catch(Exception e){//捕获并处理异常.如果有多个catch块,父类(Exception)必须在后面 //异常处理代码; Console.WriteLine(e.Message);//显示描述错误状况的文本 Console.WriteLine(e.Source);//显示导致异常发生的应用程序或对象的名称 Console.WriteLine(e.StackTrace);//提供在堆栈中所调用方法的详细信息,并首先最近调用的方法。 Console.WriteLine(e.InnerException);//提供对内部异常的访问。
} finally{//最终处理 }
黑盒测试:不管代码是什么,只要功能可以实现就是成功。 白盒测试:与黑盒相反。
C#入门基础三四的更多相关文章
- mybatis入门基础(二)----原始dao的开发和mapper代理开发
承接上一篇 mybatis入门基础(一) 看过上一篇的朋友,肯定可以看出,里面的MybatisService中存在大量的重复代码,看起来不是很清楚,但第一次那样写,是为了解mybatis的执行步骤,先 ...
- 01shell入门基础
01shell入门基础 为什么学习和使用shell编程 shell是一种脚本语言,脚本语言是相对于编译语言而言的.脚本语言不需要编译,由解释器读取程序并且执行其中的语句,而编译语言需要编译成可执行代码 ...
- Markdown入门基础
// Markdown入门基础 最近准备开始强迫自己写博文,以治疗严重的拖延症,再不治疗就“病入骨髓,司命之所属,无奈何”了啊.正所谓“工欲善其事,必先利其器”,于是乎在写博文前,博主特地研究了下博文 ...
- JavaScript入门基础
JavaScript基本语法 1.运算符 运算符就是完成操作的一系列符号,它有七类: 赋值运算符(=,+=,-=,*=,/=,%=,<<=,>>=,|=,&=).算术运 ...
- C++ STL编程轻松入门基础
C++ STL编程轻松入门基础 1 初识STL:解答一些疑问 1.1 一个最关心的问题:什么是STL 1.2 追根溯源:STL的历史 1.3 千丝万缕的联系 1.4 STL的不同实现版本 2 牛刀小试 ...
- HTML入门基础教程相关知识
HTML入门基础教程 html是什么,什么是html通俗解答: html是hypertext markup language的缩写,即超文本标记语言.html是用于创建可从一个平台移植到另一平台的超文 ...
- Linux shell入门基础(六)
六.Shell脚本编程详解 将上述五部分的内容,串联起来,增加对Shell的了解 01.shell脚本 shell: # #perl #python #php #jsp 不同的脚本执行不同的文本,执行 ...
- Linux shell入门基础(一)
Linux shell入门基础(一): 01.增加删除用户: #useradd byf userdel byf(主目录未删除) userdel -r byf 该用户的属性:usermod 用 ...
- AngularJS入门基础PPT(附下载链接)
学习了Angularjs有段时间,自己写了一个PPT,个人认为总结的非常全面,对于入门基础够了. 大致模块有:Angularjs简单介绍,Angularjs特性,hello world,Control ...
随机推荐
- MvcPager 免费开源分页控件3.0版发布!
MvcPager 3.0版在原2.0版的基础上进行了较大的升级,对MvcPager脚本插件重写并进行了大量优化.修复了部分bug并新增了客户端Javascript API等功能,使用更方便,功能更强大 ...
- Android Fragment应用实战,使用碎片向ActivityGroup说再见
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/13171191 现在Fragment的应用真的是越来越广泛了,之前Android在3 ...
- 通俗易懂的 JSon解析处理
1.主要用到的类: 主要用到了JavaScriptSerializer类,该类在System.Web.Script.Serialization命名空间(在System.Web.Extensions.d ...
- JAVA SSH 框架介绍
SSH 为 struts+spring+hibernate 的一个集成框架,是目前较流行的一种JAVA Web应用程序开源框架. Struts Struts是一个基于Sun J2EE平台的MVC框架, ...
- mvc局部视图
新建一个控制器啊! public ActionResult Index() { ViewBag.title = "this is title!!!"; return View(); ...
- Android Studio--Gradle基础(转)
原文链接:http://stormzhang.com/devtools/2014/12/18/android-studio-tutorial4/ 其实很早之前也写了一篇Gradle的基础博客,但是时间 ...
- 实现js的二叉树
今天算是第一次写一篇自己的博客,越是学习就越感叹学无止境,为了记录下来用js实现二叉树的方法,这算是最简单的一个算法了. 二叉树实现原理:把数组的第一个数据当作根节点,每个节点都有根节点,左孩子和右孩 ...
- markDown使用
Markdown快速入门 基本语法 1.标题 使用"#"来表示标题的级别,个数越少,标题级别越高 2.段落和换行 使用这个标志来生成段落 在行末输入2个或者以上的空格再回车就可以换 ...
- Request三种获取数据的方式
今天在做ajax请求后台代码时,发现ajax的方法都对,但就是请求不了后台代码,后来在同事帮助下才发现前台定义了两个相同参数导致请求出错. 下面记录一下request三种获取数据的方式: 1. Req ...
- VS2012下配置OpenCV2.4.5
最近在折腾了一下VS2012的OpenCVS2.4.5配置,同VS2010下基本相同,做个简单的记录,以备日后查阅. 1. 安装OpenCV 从OpenCV官网:http://opencv.org/下 ...