私は文字通り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);
ここで助けていただければ幸いです。
複合フォーマット を調べてください:
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行で実行できます!はい、そうです、1行です!
Console.WriteLine(DateTime.Now.ToString("yyyy.MM.dd"));
あなたは、私があなたと同じ日付形式を使用しなかったことに気付くかもしれません。これは、 this W3C document で説明されているように、International Date Formatを使用する必要があるためです。使用しないたびに、どこかでかわいい動物が死にます。
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から開始)。
これを試してください:
Console.WriteLine("{0}.{1}.{2}", mon, da, yet);
詳細については、 http://www.dotnetperls.com/console-writeline を参照してください。
JavaScriptに似たものを使用する場合は、最初に文字列に変換するだけです。
Console.WriteLine(mon.ToString() + "." + da.ToString() + "." + yer.ToString());
ただし、(はるかに)より良い方法は、formatオプションを使用することです。
Console.WriteLine("{0}.{1}.{2}", mon, da, yer);
理論的にはすべてを単純に行うことができます。
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"));
}
}
}
DateTime dateTime = dateTime.Today.ToString("MM.dd.yyyy");
Console.Write(dateTime);
""の前に$を使用すると、これらの括弧の間に変数を書き込むことができます
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
これを試してください:
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
単純なように:
DateTime.Now.ToString("MM.dd.yyyy");
dateTime.ToString()メソッドのすべてのフォーマットオプションに関するMSDNへのリンク