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 ...
随机推荐
- mysql 事件调度
适用于mysql 5.1 及以后版本 1.查看是否开启 show variables like '%scheduler%' 2.查看进程 show processlist 3.事件调度器默认是关闭的, ...
- MvcPager 免费开源分页控件3.0版发布!
MvcPager 3.0版在原2.0版的基础上进行了较大的升级,对MvcPager脚本插件重写并进行了大量优化.修复了部分bug并新增了客户端Javascript API等功能,使用更方便,功能更强大 ...
- action func用法记记
public partial class Form1 : Form { public Form1() { InitializeComponent(); } public delegate void s ...
- padding与margin的区别
padding 是控件的内容相对控件的边缘的边距. margin 是控件边缘相对父空间的边距. android:gravity 属性是对该view 内容的限定.比如一个button 上 ...
- 阿里云RDS for MySQL备份文件+binlog恢复过程中碰到的一些问题
1.一开始通过官方下载有的压缩包安装,碰到各种依赖问题,最后采用YUM安装 1.通过yum安装percona-Xtrabackup 1.1 先安装依赖: yum install perl-DBI yu ...
- php-redis扩展安装
1 phpredis 在php中访问redis需要安装 https://github.com/phpredis/phpredis 基本上安装上面的readme既可以完成安装,需要注意的是在编译安装的时 ...
- windows8 APP开发的远程调试
Win8上面的App开发远程调试: 这里先简单介绍一下对于win8的app的远程调试,环境设置:开发机器装有vs2012的win8系统,目标机器为虚拟机,预装win8系统. 1. 在虚拟机上安装vis ...
- String.Format格式说明——复制于DotNet笔记
String.Format格式说明 C#格式化数值结果表 字符 说明 示例 输出 C 货币 string.Format("{0:C3}", 2) $2.000 D 十进制 st ...
- 转载扩展Windows Mobile模拟器存储空间的方法
扩展Windows Mobile模拟器存储空间的方法 在Windows Mobile应用程序开发的初期,可以使用SDK自带的模拟器来进行调试,这给我们开发人员提供了一种方便的途径.一般的应用程序,占用 ...
- ubuntu安装hexo博客
ubuntu下安装hexo博客 一 安装git sudo apt-get install git 二 安装nodejs 官网下载linux安装包.tar.gz文件 解压 tar zxvf 这样变可以切 ...