wake-up-neo.com

Wie schreibe ich diese Variablen in eine Codezeile in C #?

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.

16
Erik Grosskurth

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.
40
Jim Mischel

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.

11
Malcolm O'Hare

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

7
mattytommo

Sie sollten dies versuchen:

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

Siehe http://www.dotnetperls.com/console-writeline für weitere Details.

4
Simon

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);
3
Justin Niessner

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

 Console.Write(dateTime);
1
dhelvana25

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

0
piro_gert

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

0
Mike C.

Einfach als:

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

verknüpfung zu MSDN bei ALLEN Formatierungsoptionen für die DateTime.ToString () -Methode

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

0
phillk6751