我如何在c#中执行sscanf

我怎么在C#中这样做?

int a,b,c; sscanf(astring,"%d %d %d",&a,&b,&c); 

最小的代码和依赖是更好的,有一些内置的正则表达式的东西?

我正在使用c#4.0

如果像scannf一样,您愿意假设用户将提供完全正确的数据,那么您可以执行以下操作。

 string astring = ...; string[] values = astring.Split(new char[] {' '}, StringSplitOptions.RemoveEmptyEntries); int a = Int32.Parse(values[0]); int b = Int32.Parse(values[1]); int c = Int32.Parse(values[2]); 

正则表达式适用于这种情况,但它们有点矫枉过正。 可以使用上述Split方法轻松地对字符串进行标记。

我能想到的最简单的事情就是:

 var fields = astring.Split(null, StringSplitOptions.RemoveEmptyEntries); a = int.Parse(fields[0]); b = int.Parse(fields[1]); c = int.Parse(fields[2]); 

或者,在C#中编写自己版本的sscanf()非常简单。 语法使其易于实现。

我实现了自己的版本并发布在网上。 你可以在这里查看 。