A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 天行 中级黑马   /  2013-3-13 18:14  /  1221 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

string[] str={"asd","23","sd","45","v","5"};如何把该数组的数字取出放到一个int数组中?

评分

参与人数 1技术分 +1 收起 理由
彭清贵 + 1

查看全部评分

7 个回复

倒序浏览
用正则表达式
回复 使用道具 举报
给段源码
多谢啦!
回复 使用道具 举报
本帖最后由 曾玉锋 于 2013-3-13 19:16 编辑

我晕了,改不了
回复 使用道具 举报
string[] str={"asd","23","sd","45","v","5"};
List<int> list=new List<int>();
foreach(string item in str)
{
    //1.
   //int num;
    // if(int.TryParse(item,out num))
    //{
       // list.add(num);
    //}
    //2.
     if(Regex.IsMatch(item,@"\d+"))
    {
        list.add((int)item);
     }
}

int[] arr=list.ToArray();
回复 使用道具 举报
有道理!呵呵呵 谢了!
回复 使用道具 举报
宋健 中级黑马 2013-3-13 21:52:03
7#
这个问题可以用try-catch和List一起解决。  
            string[] str = { "asd", "23", "sd", "45", "v", "5" };
            List<int> numsList = new List<int>();//建立List存储转换成功的数字
            int num = 0;
            
            for (int i = 0; i <str.Length; i++)
            {
                try
                {
                    num = Convert.ToInt32(str[i]);//进行转换
                    numsList.Add(num);
                }
                catch
                {

                }
            }
            int[] numsNew=numsList.ToArray();

            foreach (var item in numsNew)
            {
                Console.WriteLine(item);
            }
            Console.ReadKey();

评分

参与人数 1技术分 +1 收起 理由
彭清贵 + 1

查看全部评分

回复 使用道具 举报
天行 中级黑马 2013-3-13 21:56:20
8#
奥!原来try_catch可以清除报错 有了新解 呵呵谢了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马