本文章主要介绍如何使用Array类的ConvertAll方法来强制转换一维数组的类型。ConvertAll方法将一种类型的数组转换为另一种类型的数组。其语法格式如下:
PublicstaticTOutput[]ConvertAll<TInput,TOutput>(TInput[] array,Converter<TInput,TOutput> converter)
类型参数:
T:源数组元素的类型。
U:目标数组元素的类型。
参数说明:
Array:要转换为目标类型的从零开始的一维 Array。
Converter:一个Converter,用于将每个元素从一种类型转换成为另一种类型。
返回值:目标类型的数组,包含从源数组转换而来的元素。
Converter是对方法的委托,它将对象转换为目标类型。array的元素被逐个地传给Converter,转换后的元素保存在新数组中。源array保持不变。
主要代码如下:
Private void button1_Click(object sender,EventArgs e)
{
Double[] doArray={12.3,19.5,85.5,33.6,0.8};
Int[] intArray=Array.ConvertAll(doArray,new Converter<double,int>(getInt));
String strDouble=”Double 类型数组:/n”;
String strInt=”Int类型数组:/n”;
For(int i=0;i<doArray.Length;i++)
{
strDouble +=doArrary[i].ToString()+”,”;
}
For(int i=0;i<intArrary.Length;i++)
{
strInt +=intArrary[i].ToString()+”,”;
}
MessageBox.Show(strDouble+”/n”+striInt,”数组类型转换”,MessageBoxButtons.OK,MessageBoxIcon.Information);
}
Public static int getInt(double deStr)
{
Return (int)deStr;
}