LINQ查询结果集
Linq |
System.Collections.Generic.IEnumerable<T> |
Linq to DataSet |
System.Data.EnumerableRowCollection<DataRow> |
Linq to SQL |
System.Linq.IQueryable<T> |
Linq to XML |
System.Collections.Generic.IEnumerable<T> |
System.Array 数组
所有数组都继承于System.Array,数组可以用System.Array建立
数组可以是一维也可以是多维数组。"维数"对应于用来识别每个数组元素的下标个数。维数可以多达 32 维。 数组的每一维都有一个非零的长度。在数组的每一维中,数组元素按下标 0 到该维最高下标值连续排列.数组没有固定大小。数组在创建以后仍可以改变大小。
数组是对象,因此每种数组类型都是一个单独的引用类型。这意味着:
1.数组变量中含有指向数据的指针,这些数据包含元素、秩和长度信息。
2.在将一个数组变量赋值给另一个数组变量时,只有指针进行了复制。
3.两个数组变量只有在具有相同的维数和元素数据类型时,才能看成是同一数据类型的数组变量。
基于System.Array定义数组
System.Array x=System.Array.CreateInstance(typeof(string),7);
x.SetValue("4",0);
x.SetValue("8",1);
x.SetValue("7",2);
x.SetValue("1",3);
x.SetValue("3",4);
x.SetValue("2",5);
x.SetValue("5",6);
System.Console.WriteLine(x.GetValue(5)); |
使用这种方式声明,只能用SetValue与GetValue方法进行赋值与取值,
不能使用x[i]的方式,也不会有x[i].方法() 出现 |
基于类型定义数组
类型[,] 数组名 = new 类型[该维个数, 该维个数]; |
类型[,] 数组名;
数组名 = new 类型[个数,个数]; |
类型[,] 数组名;
数组名 = new 类型[,] {{{值1, 值2, 值3},{值1, 值2, 值3}}; |
类型[,] 数组名 = {{值1, 值2, 值3},{值1, 值2, 值3}};
类型[] 数组名 ={{值1, 值2, 值3}; |
数组元素的清空
数组名 = null; |
这时不只数组中的元素数据被清空了,而且数组的元素也被清空了.
如果要再使用该数组,需要用重新指定维中的元素个数.
数组的维结构不能被清除. |
System.Array类静态成员
清空指定数组位置中元素的值 |
Array.Clear(数组名, 从第几个开始, 清除几个) |
把[源数组名]中的数据复制到[目标数组名] |
Array.Copy(源数组名, 目标数组名, 要复制的个数) |
按升序排列.只能对一维数组使用 |
Array.Sort(数组名) |
对数组中的元素的顺序返转. |
Array.Reverse(数组名) |
从前向后在数组中查找指定的值.反回在数组中的位置值,如果没找到返回-1,第一个位置是0. |
i= Array.IndexOf (数组名,要找的内容,开始位置) |
从后向前在数组中查找指定的值.反回在数组中的位置值,如果没找到返回-1,第一个位置是0. |
i = Array.LastIndexOf (数组名,要找的内容,开始位置) |
不用循环填充数组
string[] v = new string[50];
v[0] = "wxwinter";
System.Collections.ArrayList.Repeat(v[0], v.Length).CopyTo(v); |
泛型方法见集合的实例泛型方法
数组类实例成员
属性 |
Rank |
返回数组的维数 |
属性 |
Length |
返回数组中元素的个数. |
方法 |
GetLength(维数) |
返回指定维数中元素的个数.第一维是0 |
扩展方法见集合扩展方法
System.Collections 集合
ArrayList
System.Collections
一个数组型集合,使用的是随顺存储
实例成员
Capacity属性 |
获取或设置 ArrayList 可包含的元素数.当实际元素超过Capacity属性时,Capacity属性会在原来的数值上翻倍 |
Count属性 |
集合中元素的个数 |
int = Add(object) |
将对象添加到集合尾部 |
AddRange(Array/List) |
将 ICollection 的元素添加到 ArrayList 的末尾 |
object = Clone() |
创建 ArrayList 的浅表副本 |
ArrayList =GetRange (index, count) |
源 ArrayList 中元素的子集.
可以看成一个视图,两个集合数据是同步的 |
Insert(i,object) |
将对象插入到集合的指定位置 |
InsertRange (index,Array/List) |
将 ICollection 的元素插入到 ArrayList 的指定索引处 |
Remove(object) |
从集合中移除指定对象 |
RemoveAt(index) |
从集合中移除指定位置处的对象 |
RemoveRange (index,count) |
从 ArrayList 中移除一定范围的元素 |
SetRange (index,Array/List) |
将参数中的集合覆盖到调用该方法的集合的指定位置 |
Reverse() |
返转集合中的对象 |
Sort() |
对集合排序
对象集合见 System.IComparable接口
Sort (IComparer) 方法见 System.Collections.IComparer 接口 |
Clear() |
清除集合中所有元素 |
向后查找 |
Integer=集合名.IndexOf (要找的内容变量,开始找的位置)
从前向后在数组中查找指定的值.反回在数组中的位置值,如果没找到返回-1,第一个位置是0. |
向前查找 |
Integer =集合名. LastIndexOf(要找的内容变量,开始位置)
从后向前在数组中查找.反回在数组中的位置值,如果没找到返回-1 |
访问集合中的成员 |
集合[index] |
|