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

时间:2013-03-14 19:28:08

标签: c# console int 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);
        }
    }
}

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

document.write(mon+'.'+da+'.'+yer);

感谢您的任何帮助。

10 个答案:

答案 0 :(得分:40)

查看composite formatting

Console.WriteLine("{0}.{1}.{2}", mon, da, yer);

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

Console.WriteLine(mon + "." + da + "." + yer);

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

Console.WriteLine($"{mon}.{da}.{yer}");  // note the $ prefix.

答案 1 :(得分:11)

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

Console.WriteLine(DateTime.Now.ToString("yyyy.MM.dd"));

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

答案 2 :(得分:7)

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

Console.WriteLine(mon + "." + da + "." + yer);

或者您可以通过以下方式使用WriteLine,就像它是string.Format语句一样:

Console.WriteLine("{0}.{1}.{2}", mon, da, yer);

相当于:

string.Format("{0}.{1}.{2}", mon, da, yer);

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

答案 3 :(得分:4)

你应该尝试这个:

Console.WriteLine("{0}.{1}.{2}", mon, da, yet);

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

答案 4 :(得分:3)

如果你想使用类似于JavaScript的东西,你只需要先转换为字符串:

Console.WriteLine(mon.ToString() + "." + da.ToString() + "." + yer.ToString());

但是(更好)的方法是使用格式选项:

Console.WriteLine("{0}.{1}.{2}", mon, da, yer);

答案 5 :(得分:1)

理论上你可以简单地完成整个事情:

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

namespace consoleHelloWorld {
class Program {
    static void Main(string[] args) {
       Console.WriteLine(DateTime.Now.ToString("MM.dd.yyyy"));
    }
  }
}

答案 6 :(得分:1)

 DateTime dateTime = dateTime.Today.ToString("MM.dd.yyyy");

 Console.Write(dateTime);

答案 7 :(得分:0)

放手一搏:

string format = "{0} / {1} / {2} {3}";
string date = string.Format(format,mon.ToString(),da.ToString(),yer.ToString();
Console.WriteLine(date);

事实上,可能有一种方法可以自动格式化,甚至不用自己动手。

查看http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx

答案 8 :(得分:0)

简单如下:

DateTime.Now.ToString("MM.dd.yyyy");

在DateTime.ToString()方法的所有格式选项上链接到MSDN

http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx

答案 9 :(得分:0)

使用$之前" "它将允许在这些括号之间写入变量

 Console.WriteLine($"{mon}.{da}.{yer}");

专业方式:

  Console.WriteLine($"{DateTime.Today.Month}.{DateTime.Today.Day}.{DateTime.Today.Year}");
  Console.WriteLine($"month{DateTime.Today.Month} day{DateTime.Today.Day} year{DateTime.Today.Year}");

2016年5月24日

month5 day24 year2016