我有一个格式为"x,y"的字符串列表,我想把它们全部转换成点(Point)。我能找到的最好的Point构造函数需要两个整数(ints)。在C#中,将"14,42"转换为new Point(14,42)的最佳方法是什么?
我知道可以使用正则表达式"/(\d+),(\d+)/"来实现,但我在将这两个匹配组转换为整数时遇到了困难。
我知道可以使用正则表达式"/(\d+),(\d+)/"来实现,但我在将这两个匹配组转换为整数时遇到了困难。
有 Point.Parse
(System.Windows.Point.Parse, WindowsBase.dll) 这个方法,您就不需要使用正则表达式或字符串分割等方式了。
http://msdn.microsoft.com/zh-cn/library/system.windows.point.parse.aspx
PK :-)
就像这样:
string[] coords = str.Split(',');
Point point = new Point(int.Parse(coords[0]), int.Parse(coords[1]));
int.parse(string)
将其转换为整数,并将整数传递到 Point 构造函数中。//assuming a list of strings like this
var strings = new List<String>{
"13,2",
"2,4"};
//get a list of points
var points = (from s in strings
select new Point(s.split(",")[0], s.split(",")[1]))
.ToList();
// or Point.Parse as PK pointed out
var points = (from s in strings select Point.Parse(s)).ToList();