字符串值列表并区分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
请帮帮我... 在此先感谢
答案 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风格