2

我想知道是否有类似 Cscanf()printf()C# 的东西?

String [] a1; 
String a = Console.ReadLine();
a1= s.split(); 

Int []  b; 

for(...) {b[i] = Int32.Parse(a1[i])}...

我可以做类似的事情scanf("%d %d %d %d %d", &a, ..., &e);吗?

4

3 回答 3

2

C# 最接近的事情printfConsole.WriteLine(或String.Format输出到字符串)。语法不同,但概念是一样的。例如printf("%4.2f",100)变成Console.WriteLine("{0:0.00}",100);

没有等价于scanf。您需要Console.ReadLine手动使用和解析字符串。

于 2013-09-09T21:56:26.637 回答
1

环顾一番后,似乎 c# 没有scanf.

但是,您可以使用正则表达式来做同样的事情

但是,它确实具有String.Format()printf形式的等价物

int i = 5;
double d = 5.0;
String.Format("this is an int:{0}, this is a double:{1}", i, d);
于 2013-09-09T21:56:05.233 回答
1
  [DllImport("msvcrt.dll", CharSet = CharSet.Ansi, CallingConvention =  CallingConvention.Cdecl)]
  public static extern int scanf(string buffer, string format, ref int arg0, ref int arg1);

这将让你在 C# 中使用 scanf,我认为:)

如果没有,您必须使用拆分和转换:)

于 2013-09-09T22:01:21.813 回答