C#和.NET2.0中如何将String转int?我有:string[]strArray=newstring[3]{"1","2","12"};我想要这样的东西int[]intArray=Convert.toIntArray(strArray);我在C#中。netv2.0,我不想写很多代码。我怎样才能做到这一点?谢谢。您可以使用Array.ConvertAll方法“将一种类型的数组转换为另一种类型的数组”。int[]intArray=Array.ConvertAll(strArray,delegate(strings){returnint.Parse(s);});(编辑:使用这种技术,类型推断工作正常。或者,您可以在答案中使用MarcGravell的隐式方法组转换,但您必须明确指定泛型类型参数。)使用for循环:int[]intArray=newint[strArray.Length];for(inti=0;i为了完整起见,在C#4.0中执行此操作的惯用方法如下:varintArray=strArray.Select(int.Parse).ToArray();或://编辑:可能更快使用固定大小的缓冲区varintArray=Array.ConvertAll(strArray,int.Parse);int[]intArray=Array.ConvertAll(strArray,int.Parse);或在C#2.0中(泛型类型推断较弱):int[]intArray=Array.ConvertAll(strArray,int.Parse);使用System.Collections.Generic;intConvert(strings){returnInt32.Parse(s);}int[]result=Array.ConvertAll(input,newConverter(Convert));或int[]result=Array.ConvertAll(input,delegate(strings){returnInt32.Parse(s);})Array.ConvertAll通用方法将一种类型的数组转换为另一种类型的数组类型。如果您确定所有项目都是可解析的,那么这将起到作用:string[]strArray=newstring[3]{"1","2","12"};int[]intArray=newint[strArray.Length];for(inti=0;i像这样,但你想保留一些错误检查(我的if很蹩脚,就像这个例子):staticprivateint[]toIntArray(string[]strArray){int[]intArray=newint[strArray.Length];for(intindex=0;indexanduseitlikethis:以上是C#学习教程:HowtoconvertStringtointinC#and.NET2.0?分享了全部内容,如果它对你有用,需要多了解C#学习教程,希望大家多多关注---string[]strArray=newstring[3]{"1","2","12"};int[]interi=toIntArray(strArray);本文采集自网络,不代表立场,如涉及侵权,请右击联系管理员删除,转载请注明出处:
