首页 > 其他 > 详细

array类

时间:2014-03-31 09:45:45      阅读:441      评论:0      收藏:0      [点我收藏+]

 

Array类:提供创建、操作、搜索和排序数组的方法,因而在公共语言运行库中用作所有数组的基类。

 

1.数组的GetType方法; 

int[] h=new int[10];     h.GetType()====== System.Int32[]

2. Array.IsArray 属性

typeof(Array).IsArray  FALSE

typeof(h.GetType().IsArray)  true

3.数组的复制              同类型或者不同类型的标准数组之间copy自动转换(拆箱,装箱)

1)Array .ConstrainedCopy  复制没成功,则目标数组不变

public static void ConstrainedCopy(
    Array sourceArray,
    int sourceIndex,
    Array destinationArray,
    int destinationIndex,
    int length
)
2)Array .Copy 方法   
将一个 Array 的一部分元素复制到另一个 Array 中,并根据需要执行类型强制转换和装箱。
 
Copy(Array, Array, Int32/Int64) 将元数组从第一个索引开始,指定长度复制到目标数组
Copy(Array, Int32/Int64, Array, Int32/Int64, Int32/Int64) 从指定的源索引开始,指定长度,复制到目标数组中以目标索引为起始位置的地方。
3)Array派生类的CopyTo
public void CopyTo(
    Array array,
    int index
)
int[] myArray={1,2,3,4,5,6,7,8,9,10};
myArray.CopyTo(deArray, 0);  //1,2,3,4,5,..,9,10     将源数组的所有元素复制到目标数组指定起始的位置。目标数组要有足够大的空间。

4.数组的清除 Array.Clear

静态方法 Clear  ,Array.Clear(),并不是真正的删除值。

引用类型变为null,bool类型变为false,其余为0

5.查找值 Array.Exists,TrueForAll,Find,FindLast,FindAll

Predicate<T>委托 – _
public static bool Exists<T>(
    T[] array,
    Predicate<T> match
)
Predicate <T > 是对方法的委托,如果传递给它的对象与委托中定义的条件匹配,则该方法返回 true。 array 的元素被逐个传递给 Predicate <T >,找到一个匹配项时处理就会停止。
表示定义一组条件并确定指定对象是否符合这些条件的方法。
public delegate bool Predicate<T>(
    T obj
)
 
说明:在 C# 和 Visual Basic 中,不必显式创建 Predicate<string> 委托(在 Visual Basic 中为 Predicate(Of String))。这些语言会通过上下文推知正确的委托,并自动创建委托。
Array.TrueForAll,Exists
Find,FindLast,FindAll
 
6.调整数组大小
public static void Resize<T>(
    ref T[] array,
    int newSize
)

 

新长度大于旧长度,则其余都为数组类型的默认值

新长度小,则将新数组复制满,其余元素忽略

相等,则不做任何操作。

 

7. 数组排序sort 默认提供的是不稳定排序(相同大小的元素位置可能会改变)

array类,布布扣,bubuko.com

array类

原文:http://www.cnblogs.com/StudyLife/p/3634778.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!