如何解决C#代码中的额外空白问题?

如何解决C#代码中的额外空白问题?,c#,parsing,C#,Parsing,当我从.txt文件中获取数字时,当我在数字之间使用额外空格时,会出现错误。例:56(space)(space)(space)45(space)(space)6(space)(space)(space)(space)(space)(space)2789 当我在数字之间使用1空格时没有问题。示例:564562789 for (int i = 0; i < count; i++) { string[] temp2; temp2 = ReadText[i].Split(' ');

当我从.txt文件中获取数字时,当我在数字之间使用额外空格时,会出现错误。例:56(space)(space)(space)45(space)(space)6(space)(space)(space)(space)(space)(space)2789

当我在数字之间使用1空格时没有问题。示例:564562789

for (int i = 0; i < count; i++)
{
    string[] temp2;
    temp2 = ReadText[i].Split(' ');
    for (int a = 0; a < temp2.Length; a++)
    {
        Value[ValueCount] = float.Parse(temp2[a]);
        ValueCount++;
    }
}
for(int i=0;i

我希望它能正常工作,但有点问题,我不明白。

您可以使用
TryParse
来帮助您

for (int i = 0; i < count; i++)
{
    string[] temp2;
    temp2 = ReadText[i].Split(' ');
    for (int a = 0; a < temp2.Length; a++)
        if (float.TryParse(temp2[a], out Value[ValueCount]))
            ValueCount++;
}

您可以使用
TryParse
来帮助您

for (int i = 0; i < count; i++)
{
    string[] temp2;
    temp2 = ReadText[i].Split(' ');
    for (int a = 0; a < temp2.Length; a++)
        if (float.TryParse(temp2[a], out Value[ValueCount]))
            ValueCount++;
}

您可能希望使用
StringSplitOptions。删除mptyentries
,否则您将在生成的数组中获得空白项。请检查
string.Split
的第二个参数。此外,如果您使用调试器并查看剥离调用的结果,您可能会看到您的问题。我强烈建议您使用
float.TryParse
而不是
float.Parse
。最后,请包括您看到的错误(或更可能是异常)及其生成位置。感谢所有帮助,答案已找到。您可能需要使用
StringSplitOptions.removeMptyEntries
,以避免重复,否则,您将在生成的数组中获得空白项。请检查
string.Split
的第二个参数。此外,如果您使用调试器并查看剥离调用的结果,您可能会看到您的问题。我强烈建议您使用
float.TryParse
而不是
float.Parse
。最后,请包括您正在看到的错误(或者更可能是异常)及其生成位置。感谢所有帮助,已找到答案。TryParse如何删除额外的空格?@Berkan这应该与其他建议一起使用。@nyssapongjaerdenlarp:TryParse调用将为拆分调用的虚假返回值返回false。它导致糟糕的日子被忽视。正确的答案是使用SplitOptions规范(去除虚假数据)还有TryParse,因为它是来自外部的数据,而且有时可能格式不正确。TryParse如何删除额外的空格?@Berkan这应该与其他建议结合使用。@nysapongjaerdenlarp:TryParse调用将为来自拆分调用的假返回值返回false。它导致糟糕的日子被忽视。正确的答案是使用SplitOptions规范(以消除虚假数据)和TryParse,因为它是来自外部的数据,有时很可能格式错误