如何在C#中将这些变量写入一行代码?

Eri*_*rth 17 c# int console var console.writeline

我是C#的新手,字面上是第50页,我很好奇如何在一行代码中编写这些变量:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace consoleHelloWorld
{
    class Program
    {
        static void Main(string[] args)
        {

            int mon = DateTime.Today.Month;
            int da = DateTime.Today.Day;
            int yer = DateTime.Today.Year;
            var time = DateTime.Now;

            Console.Write(mon);
            Console.Write("." + da);
            Console.WriteLine("." + yer);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我来自JavaScript,在哪里这样做,它看起来像这样:

document.write(mon+'.'+da+'.'+yer);
Run Code Online (Sandbox Code Playgroud)

任何帮助在这里表示赞赏.

Jim*_*hel 41

查看复合格式:

Console.WriteLine("{0}.{1}.{2}", mon, da, yer);
Run Code Online (Sandbox Code Playgroud)

你也可以写(虽然不是真的推荐):

Console.WriteLine(mon + "." + da + "." + yer);
Run Code Online (Sandbox Code Playgroud)

并且,随着C#6.0的发布,你有字符串插值表达式:

Console.WriteLine($"{mon}.{da}.{yer}");  // note the $ prefix.
Run Code Online (Sandbox Code Playgroud)


Mal*_*are 11

您可以在一行中完成整个程序!是的,这是对的,一行!

Console.WriteLine(DateTime.Now.ToString("yyyy.MM.dd"));
Run Code Online (Sandbox Code Playgroud)

您可能会注意到我没有使用与您相同的日期格式.这是因为您应该使用本W3C文档中描述的国际日期格式.每当你不使用它,某个可爱的小动物就会死去.

  • 谢谢你,没有注意到.将修改此回复以惩罚他对日期格式的选择不当. (2认同)
  • 不只是一行,而是单个函数调用:) Console.WriteLine("{0:yyyy.MM.dd}",DateTime.Now); (2认同)

mat*_*mmo 7

你可以像在JavaScript中一样做.试试这个:

Console.WriteLine(mon + "." + da + "." + yer);
Run Code Online (Sandbox Code Playgroud)

或者您可以使用WriteLine,就好像它是一个string.Format声明:

Console.WriteLine("{0}.{1}.{2}", mon, da, yer);
Run Code Online (Sandbox Code Playgroud)

这相当于:

string.Format("{0}.{1}.{2}", mon, da, yer);
Run Code Online (Sandbox Code Playgroud)

参数的数量可以是无限的,只需确保正确索引这些数字(从0开始).


Sim*_*mon 5

你应该试试这个:

Console.WriteLine("{0}.{1}.{2}", mon, da, yet);
Run Code Online (Sandbox Code Playgroud)

有关更多详细信息,请参阅http://www.dotnetperls.com/console-writeline