c# 笔记整理(2016年9月5日)

第三章  流程控制语句

1.switch

1.1c#中switch不支持从一个case标签贯穿到另一个case标签,除非case中没有代码

1.2 break 只能用于  循环语句(while ,do while, for ,foreach),switch,if

注意:

if 不能单独与break使用,if要嵌套在循环语句中

例:

for(int a=0;a<10;a++){

   if(b++1) {

     break;

   }

}


2.foreach

foreach(var item in collection){

  语句快

}

var 变量类型

item 用于遍历数组的变量(变量类型为 var  )

collection  被遍历的数组


第四章 数组

1数组初始化

1.1一维数组初始化

type [ ] arrayName = new type [ val1 ]{value1,value2, . . . }

type [ ] arrayName = new type [ ]{ value1, value2, . . . }

type [ ] arrayName = {value1, value2, . . . }


1.2.二维数组初始化

type [ , ] arrayName = new type [ val1 , val2 ] { { value1,value2, . . . } ,{ value3,value4, . . . } , . . . }

type [ , ] arrayName = new type [ , ] { { value1, value2 , . . . } , { value3, value4 , . . .}, . . . }

type [ , ] arrayName = { { value1, value2 , . . . } , { value3 , value , . . . } , . . . }

注意:

交错数组:只定义了val1 或val2

当只定义了val1时数组行数由val1确定,列输不确定

只定义了val2 时数组列数由val2确定,行数不确定

 

1.3.多维数组初始化(与二维相似)

例:int [ , , ] = new int [2,4,3] 

{

 { {1,1,1}, {2,2,2},{3,3,3},{4,4,4} }

 { {a,a,a}, {b,b,b},{c,c,c},{d,d,d} }

}


2.静态数组和动态数组

2.1静态数组

由System .Array类实现 // 详细见:http://www.runoob.com/csharp/csharp-array-class.html

数组维度大小不可改变


属性:

length 数组长度(数组中元素总数)32位

Longlength 数组长度  64位

rank 维度


(Array 与ArrayLis t相同部分)

IsReadOnly  表示数组是否为只读  //返回true 为只读

IsFixedSize  表示数组大小是否固定

(多线程)

IsSynchronize 表示是否同步访问数组

SyncRoot   获取同步数组访问对象


方法:

GetValue(Int32) 获得数组指定位置的值

SetVvalue(Int32)


Clear()//清楚数组中指定位置元素

例:

int []numbers1 = {1, 2, 3, 4, 5, 6, 7, 8, 9}    
Array.Clear(numbers1, 2, 5)
//输出: 1 2 0 0 0 0 0 8 9
       
int [ , ] numbers = new int [ , ]
{
  { 1, 2, 3 },
  { 4, 5, 6 },
  { 7, 8, 9 }
}
Array.Clear(numbers2, 2, 5)
//输出:1 2 0
             0 0 0
             0 8 9


IndexOf()//第一个匹配元素索引

LastIndexOf()//最后一个匹配元素索引

copy()//部分复制

copyto()//全部复制


Sort()//一维数组排序

Reverse()//反转一维数组中元素的排序


GetLength();//指定维度数组长度

GetLongLength()


2.2动态数组

System.ArrayList

属性
Count   属性是目前ArrayList包含的元素的数量,这个属性是只读的
Capacity  属性是目前ArrayList能够包含的最大数量,可以手动的设置这个属性,但是当设置为小于Count值的时候会引发一个异常。

(Array 与ArrayLis t相同部分)

IsReadOnly  表示数组是否为只读  //返回true 为只读

IsFixedSize  表示数组大小是否固定

(多线程)

IsSynchronize 表示是否同步访问数组

SyncRoot   获取同步数组访问对象


方法
Add(v):添加一个元素(参数v,任何类型)到当前列表的末尾
AddRange方法用于添加一批元素到当前列表的末尾Remove方法用于删除一个元素,通过元素本身的引用来删除RemoveAt(i):方法用于删除一个元素,通过索引值(参数i)来删除

Insert用于添加一个元素到指定位置,列表后面的元素依次往后移动
InsertRange用于从指定位置开始添加一批元素,列表后面的元素依次往后移动

RemoveRange用于删除一批元素,通过指定开始的索引和删除的数量来删除
RemoveAt()//删除指定位置元素
Remove()//删除指定元素
Clear():方法用于清除现有所有的元素

Contains(v):方法用来查找某个对象(参数v)在不在列表之中

ToArray(Type t):这个方法把ArrayList的元素Copy到一个新的数组中,参数为Type类型(/复制到一维数组)

CopyTo()//复制到一维数组




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值