【问题标题】:C# Getting value from a stringC#从字符串中获取值
【发布时间】:2016-07-07 15:27:20
【问题描述】:

我有一个这样的字符串

string myString = [0,4,5,5,6];

例如,我想通过 foreach 循环获取该字符串的每个值,我该如何进行?

【问题讨论】:

  • 这看起来更像是一个带有数字的数组...?
  • 这不是一个字符串,它是一个整数数组(如果这当然是 javascript)
  • 你确定这是一个字符串吗?它可能是您指定字符代码的字符数组吗?还是您忘记加引号了?
  • 是的,它是来自 api 的字符串(它不是 json)
  • 在您问题的代码块中: 1. 那是 JSON 数组语法。 2. 那不是字符串。它也不是有效的 C#。

标签: c# string foreach int


【解决方案1】:

假设您只是忘记在字符串周围加上引号:

你需要遍历每个字符并尝试将其解析成一个数字

//A list to hold the result
List<int> values = new List<int>();

//loop through each character 1 by 1
foreach(var c in myString)
{
     //will hold the value
     int num = 0;

     //Try to parse the character into an integer
     var isNumber = int.TryParse(c.ToString(), out num);

     //if the parsing succeeded add it to the list
     if(isNumber)
     {
         values.Add(num);
     }
}

这会将值 0,4,5,5,6 输出到值列表中,忽略所有非数字数字

【讨论】:

    【解决方案2】:

    为什么不直接使用 linq

    List<int> = myString.Select(Int32.Parse).ToList();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-25
      相关资源
      最近更新 更多