字符串值列表并区分int和字符串值

时间:2015-04-05 08:57:35

标签: c#

字符串值列表并区分int和字符串值

List<string> input = new List<string> { "1", "2", "three", "4", "five", "eight", "9" };

List<int> output1 = new List<int>{};  // keep the list here integer values
List<string> output2 = new List<string> { }; // keep the list here non numericic values

请帮帮我... 在此先感谢

3 个答案:

答案 0 :(得分:4)

 foreach(string item in input)
 {
     int result = 0;

     if(Int32.TryParse(item, out result))
     {
        output1.Add(result);
     }
     else
     {
        output2.Add(item);
     }
 }

答案 1 :(得分:0)

通过循环列表bool k=int.TryParse(numberString , out temp );并将您的值作为参数传递,您可以找到它是整数的天气

List<string> input = new List<string> { "1", "2", "three", "4", "five", "eight", "9" };


List<int> output1 = new List<int>{};  // keep the list here integer values
List<string> output2 = new List<string> { }; // keep the list here non numericic values

foreach(var temp in input)
{
   bool k=int.TryParse(numberString , out temp );
   if(k==true)
   {
     output1.add(temp)
   }
   else
   {
     output2.add(temp)
   }
}

答案 2 :(得分:0)

我会做类似的事情:

int outInt;
var intStringValues = input.Where(o => int.TryParse(o, out outInt)).ToList();

List<int> output1 = intStringValues.Select(int.Parse).ToList();     
List<string> output2 = input.Except(intStringValues).ToList();

这是一个非常小的小提琴:https://dotnetfiddle.net/gVqloX

更有可能不像简单foreach那样高效,但只是为了做到linq风格