从控制台读取值

时间:2013-09-09 21:52:53

标签: c#

我想知道在C#中是否有类似C scanf()printf()的内容?

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);之类的事情吗?

3 个答案:

答案 0 :(得分:2)

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

没有相当于scanf的内容。您需要使用Console.ReadLine并手动解析字符串。

答案 1 :(得分:1)

经过一番环顾,似乎c#没有scanf的实现。

但是,您可以使用regular expressions执行相同的操作

但是,它确实以String.Format()

的形式存在printf的等价物
int i = 5;
double d = 5.0;
String.Format("this is an int:{0}, this is a double:{1}", i, d);

答案 2 :(得分:0)

  [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,我认为:)

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