Ich bin neu in C #, wörtlich auf Seite 50, und ich bin neugierig, wie man diese Variablen in eine Zeile Code schreibt:
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);
}
}
}
Ich komme von JavaScript, wo es so aussehen würde:
document.write(mon+'.'+da+'.'+yer);
Jede Hilfe hier wird geschätzt.
Schauen Sie in zusammengesetzte Formatierungen :
Console.WriteLine("{0}.{1}.{2}", mon, da, yer);
Sie könnten auch schreiben (obwohl es nicht wirklich empfohlen wird):
Console.WriteLine(mon + "." + da + "." + yer);
Mit der Veröffentlichung von C # 6.0 verfügen Sie über Zeichenfolgeninterpolationsausdrücke:
Console.WriteLine($"{mon}.{da}.{yer}"); // note the $ prefix.
Sie können Ihr gesamtes Programm in einer Zeile machen! Ja, das ist richtig, eine Zeile!
Console.WriteLine(DateTime.Now.ToString("yyyy.MM.dd"));
Möglicherweise stellen Sie fest, dass ich nicht dasselbe Datumsformat wie Sie verwendet habe. Das liegt daran, dass Sie das Internationale Datumsformat wie in diesem W3C-Dokument beschrieben verwenden sollten. Jedes Mal, wenn Sie es nicht benutzen, stirbt irgendwo ein süßes kleines Tier.
Sie können das gleiche tun wie in JavaScript. Versuche dies:
Console.WriteLine(mon + "." + da + "." + yer);
Oder Sie können WriteLine
wie eine string.Format
-Anweisung verwenden, indem Sie Folgendes tun:
Console.WriteLine("{0}.{1}.{2}", mon, da, yer);
was äquivalent ist zu:
string.Format("{0}.{1}.{2}", mon, da, yer);
Die Anzahl der Parameter kann unendlich sein. Stellen Sie nur sicher, dass Sie diese Zahlen korrekt indizieren (beginnend bei 0).
Sie sollten dies versuchen:
Console.WriteLine("{0}.{1}.{2}", mon, da, yet);
Siehe http://www.dotnetperls.com/console-writeline für weitere Details.
Wenn Sie etwas Ähnliches wie JavaScript verwenden möchten, müssen Sie zunächst nur in Strings konvertieren:
Console.WriteLine(mon.ToString() + "." + da.ToString() + "." + yer.ToString());
Eine (viel) bessere Möglichkeit wäre jedoch die Formatoption:
Console.WriteLine("{0}.{1}.{2}", mon, da, yer);
Man könnte das Ganze theoretisch so einfach machen:
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);
Verwenden Sie $, bevor Sie Variablen in diese Klammern schreiben können
Console.WriteLine($"{mon}.{da}.{yer}");
Der Pro-Weg:
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
month5 day24 year2016
Probieren Sie es aus:
string format = "{0} / {1} / {2} {3}";
string date = string.Format(format,mon.ToString(),da.ToString(),yer.ToString();
Console.WriteLine(date);
In der Tat gibt es wahrscheinlich eine Möglichkeit, es automatisch zu formatieren, ohne es selbst zu tun.
Auschecken http://msdn.Microsoft.com/de-de/library/8kb3ddd4.aspx
Einfach als:
DateTime.Now.ToString("MM.dd.yyyy");
verknüpfung zu MSDN bei ALLEN Formatierungsoptionen für die DateTime.ToString () -Methode