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 ...
随机推荐
- 拦截js方法备忘录
很明显,以下代码拦截了fusion2.dialog.invite,然后在页面执行fusion2.dialog.invite方法的时候修改了参数中的img. <script> var old ...
- 最小生成树算法——prim算法
prim算法:从某一点开始,去遍历相邻的边,然后将权值最短的边加入集合,同时将新加入边集中的新点遍历相邻的边更新边值集合(边值集合用来找出新的最小权值边),注意每次更新都需将cost数组中的点对应的权 ...
- windows下监测tomcat7内存使用情况
在conf里面的server-user文件里添加 <tomcat-users> <role rolename="admin-gui"/> <user ...
- React Ntive 学习手记
React使今年来比较热门的前端库,之所以说是库呢,因为React.js是应用于MVC中的V层, 它并不是一个完整的MVC框架,所以,我也不知称之为框架了. 不过这并不影响React的火热. 混合应用 ...
- 「2014-3-11」HTTP 初步探究
网络上存在很多资源,也持续不断地生成新的资源.为了新建.获取和操作这些资源,引来了两个问题:如何定位资源,如何对他们进行操作.第一个问题引申出了 URI / URL 即 uniform resourc ...
- Android中Handler 、Thread和Runnable之间的关系
在多线程编程的时候,我们经常会用到Handler,Thread和Runnable这三个类,我们来看看这三个类之间是怎么样的关系? 首先说明Android的CPU分配的最小单元是线程,Handler一般 ...
- ruby 常注意的
1.ruby中生成字符串有两种形式 一种单引号,这种在使用时,对字符串不作处理,照原样输出 双引号就不同了,他会查找字符串中需要替换的字符,例如\n,#{}这种都会先替换为需要的值. 所以在使用的时候 ...
- 数据库优化之锁表查询 (Sql Server)
查询锁表语句 select request_session_id spid,DB_NAME(resource_database_id) databaseName, OBJECT_NAME(resour ...
- java基础3_流程控制语句
一 条件判断 1. 条件运算符(三元表达式) ,其形式为: type d = a ? b : c; 具体化形式为:int d = 2 < 1 ? 3 : 4; 2. 轻量级的文本编辑器:Ultr ...
- SAP HANA企业级培训系列课程<第一部分>
No. 课程 备注 1 HANA概述 HANA 特点 2 HANA Server & Studio & Client 认识HANA Server \Client\ Studio, 熟悉 ...