web-dev-qa-db-ja.com

これらの変数をC#の1行のコードに書き込むにはどうすればよいですか?

私は文字通り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);

ここで助けていただければ幸いです。

17
Erik Grosskurth

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

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

書くこともできます(実際にはお勧めできませんが)。

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

また、C#6.0のリリースでは、文字列補間式が使用できます。

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

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

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

あなたは、私があなたと同じ日付形式を使用しなかったことに気付くかもしれません。これは、 this W3C document で説明されているように、International Date Formatを使用する必要があるためです。使用しないたびに、どこかでかわいい動物が死にます。

11
Malcolm O'Hare

JavaScriptとほぼ同じことができます。これを試して:

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

または、次のようにしてWriteLinestring.Formatステートメントであるかのように使用できます。

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

次と同等です:

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

パラメータの数は無限にすることができます。それらの番号を正しくインデックス付けしてください(0から開始)。

7
mattytommo

これを試してください:

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

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

4
Simon

JavaScriptに似たものを使用する場合は、最初に文字列に変換するだけです。

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

ただし、(はるかに)より良い方法は、formatオプションを使用することです。

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

理論的にはすべてを単純に行うことができます。

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"));
    }
  }
}
1
Apollo SOFTWARE
 DateTime dateTime = dateTime.Today.ToString("MM.dd.yyyy");

 Console.Write(dateTime);
1
dhelvana25

""の前に$を使用すると、これらの括弧の間に変数を書き込むことができます

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

5.24.2016

月5日24年2016

0
piro_gert

これを試してください:

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

0
Mike C.

単純なように:

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

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

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

0
phillk6751