29

私は文字通り50ページのC#を初めて使用しますが、これらの変数を1行のコードで記述する方法に興味があります。

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);

ここでの助けは大歓迎です。

4

10 に答える 10

57

複合フォーマットを調べてください:

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

次のように書くこともできます(実際にはお勧めしませんが):

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

また、C#6.0のリリースでは、文字列補間式が使用できるようになりました。

Console.WriteLine($"{mon}.{da}.{yer}");  // note the $ prefix.
于 2013-03-14T19:29:44.517 に答える
14

プログラム全体を1行で実行できます。はい、そうです、1行です!

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

あなたは私があなたと同じ日付形式を使用しなかったことに気付くかもしれません。これは、このW3Cドキュメントで説明されている国際日付形式を使用する必要があるためです。使わない度にかわいい動物がどこかで死んでしまいます。

于 2013-03-14T19:33:16.807 に答える
8

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から開始)。

于 2013-03-14T19:30:17.243 に答える
5

これを試してみてください:

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

詳細については、 http://www.dotnetperls.com/console-writelineを参照してください。

于 2013-03-14T19:30:44.063 に答える
4

JavaScriptに似たものを使用する場合は、最初に文字列に変換する必要があります。

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

しかし、(はるかに)より良い方法は、フォーマットオプションを使用することです。

Console.WriteLine("{0}.{1}.{2}", mon, da, yer);
于 2013-03-14T19:30:31.527 に答える
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"));
    }
  }
}
于 2013-03-14T19:53:40.783 に答える
1
 DateTime dateTime = dateTime.Today.ToString("MM.dd.yyyy");

 Console.Write(dateTime);
于 2013-07-11T02:24:44.167 に答える
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を確認してください

于 2013-03-14T19:30:24.887 に答える
0

単純なもの:

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

DateTime.ToString()メソッドのすべてのフォーマットオプションに関するMSDNへのリンク

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

于 2013-03-14T19:34:57.023 に答える
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日

月5日24年2016

于 2016-05-24T12:22:57.247 に答える