gpt4 book ai didi

c# - 从 C# 中的字符串解析 PointF?

转载 作者:行者123 更新时间:2023-11-30 14:31:10 24 4
gpt4 key购买 nike

好吧,我将点保存到如下所示的文件中:

PointF p = new PointF(109.1679, 162.4473);
string lineInFile = p.ToString();

// in file it looks like this then:
{X=109,1679, Y=162,4473}

嗯,我现在不能使用 linq 或 .NET Framework 4.5。我需要一个高达 4.0 的纯 C# 解决方案。那么我将如何解析这一点?

请注意,它是 PointF 而不是 Point 并且特定于语言的格式使得点在字符串中显示为逗号。


编辑: 我接受了一个答案,但我希望用户修改文件的小问题也能得到解决。比如 { X = 109,1679 ,Y = 162,4473 }

最佳答案

这是一个仅使用 string.Splitfloat.TryParse 的字符串方法版本:

string[] tokens = lineInFile.Split(new[]{", "}, StringSplitOptions.RemoveEmptyEntries);
string valueX = tokens[0].Split('=')[1];
string valueY = tokens[1].Split('=')[1].TrimEnd('}');
float x; float y;
if (float.TryParse(valueX, out x) && float.TryParse(valueY, out y))
{
PointF parsed = new PointF(x, y);
}

请注意,只有在 PointF.ToString 上使用相同的 NumberDecimalSeparator 将字符串解析为 float 时,它才有效。

关于c# - 从 C# 中的字符串解析 PointF?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20966786/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com