将字符串转换为float时出错

Mav*_*ang -1 c# regex

我有一个关于转换的菜鸟问题.

string Descript1 = ":1:2:3:4:5";
Regex pattern = new Regex("(:)");

foreach (string sub in pattern.Split(Descript1))
{
    if (sub != ":")
    {
        float a = Convert.ToSingle(sub);
    }
}
Run Code Online (Sandbox Code Playgroud)

但是这段代码不断提出错误:"字符串的格式不正确."

有人可以帮帮我吗?

谢谢.

Guf*_*ffa 7

拆分的第一个结果是一个空字符串,即字符串中第一个冒号之前的内容.

跳过空字符串而不是跳过":"(因为它永远不会出现在结果中):

string Descript1 = ":1:2:3:4:5";
Regex pattern = new Regex(":");

foreach (string sub in pattern.Split(Descript1)) {
  if (sub.Length > 0) {
    Single a = Convert.ToSingle(sub);
  }
}
Run Code Online (Sandbox Code Playgroud)