按照下面的思路,如果input里面有4个甚至更多整数时(例如“12,3,3,4”),该怎样提取呢?可以赏的分不多,还请各位热心帮忙,谢谢
input="12,3,3"
int commaPos1=input.IndexOf(",");
int commaPos2=input.LastIndexOf(",");
int A=Convert.ToInt32(input.Substring(0,commaPos1));
int B=Convert.ToInt32(input.Substring(commaPos1+1,commaPos2-commaPos1-1));
int C=Convert.ToInt32(input.Substring(commaPos2+1,input.Length-commaPos2-1));另外,我编写的控制台程序,输出窗口在输出结果后立即消失了,而没有“press ankey to continute",为什么呢?

解决方案 »

  1.   

    int i32[]=input.split(new Char [] {','});
      

  2.   

    你要是固定格式的话用string.Split例如:string[] tmp = input.Split(new char[]{','});
    关于Split的更详细的参数可以看String类的Split方法解释。
      

  3.   

    错了,前面的应该是string,没脸见人了...
      

  4.   

    要在显示结束后暂停的话,自己显示个提示,然后调用Console.ReadKey
      

  5.   

    string input = "12,3,3,4";
                string[] my = input.Split(',');
                for(int i=0;i<my.Length ;i++)
                {
                    Console.WriteLine(Convert.ToInt32(my[i]));
       Console.ReadKey();            }
      

  6.   

    using System;
    using System.Collections.Generic;namespace Demo {
        class Program {
            static void Main() {
                string input = "12,3,3,4";
                foreach (int i in GetInts(input)) {
                    Console.WriteLine(i);
                }
                
                Console.WriteLine("Press any key to continue");
                Console.ReadKey(true);
            }        public static IList<int> GetInts(string input) {
                List<int> result = new List<int>();
                if (!string.IsNullOrEmpty(input)) {
                    string[] splits = input.Split(',', ',');                foreach (string split in splits) {
                        int temp;
                        if (int.TryParse(split.Trim(), out temp)) {
                            result.Add(temp);
                        }
                    }
                }
                return result;
            }
        }
    }
      

  7.   


    把字符串分割吧...再逐一取出来好了..IndexOf只是取出第一个,号的位置..
    string[] splitNum = input.split(new char[]{','});for(int i = 0; i < splitNum.Length; i++)
    {
        //... splitNum[i];
    }
      

  8.   

    string[] tmp = input.Split(new char[]{','});
    用Split这个方法就好了。
    窗口立即消失的问题,你在最后加上一句Console.ReadLine();就可以了
      

  9.   

    你是不是按得是F5?你按Ctrl+F5试试,应该就可以停住了,或者写:Console.ReadLine();都可以
      

  10.   

    但我记得之前不需要ReadKey(),输出窗口也不会消失的啊
    ps:这么多热心人,不知道怎样分配给分了...