web-dev-qa-db-fra.com

Comment puis-je écrire ces variables dans une ligne de code en C #?

Je suis nouveau en C #, littéralement à la page 50 et je suis curieux de savoir comment écrire ces variables dans une ligne de code:

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

Je viens de JavaScript où faire cela, il ressemblerait à ceci:

document.write(mon+'.'+da+'.'+yer);

Toute aide ici est appréciée.

16
Erik Grosskurth

Regardez dans formatage composite :

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

Vous pouvez aussi écrire (bien que ce ne soit pas vraiment recommandé):

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

Et, avec la publication de C # 6.0, vous avez des expressions d'interpolation de chaîne:

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

Vous pouvez faire tout votre programme en une seule ligne! Oui, c'est vrai, une ligne!

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

Vous remarquerez peut-être que je n'ai pas utilisé le même format de date que vous. En effet, vous devez utiliser le format de date international comme décrit dans le présent document W3C . Chaque fois que vous ne l'utilisez pas, quelque part, un mignon petit animal meurt.

11
Malcolm O'Hare

Vous pouvez faire à peu près la même chose qu'en JavaScript. Essaye ça:

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

Ou vous pouvez utiliser WriteLine comme s'il s'agissait d'une instruction string.Format en faisant:

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

qui équivaut à:

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

Le nombre de paramètres peut être infini, assurez-vous d’indexer correctement ces nombres (à partir de 0).

7
mattytommo

Vous devriez essayer celui-ci:

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

Voir http://www.dotnetperls.com/console-writeline pour plus de détails.

4
Simon

Si vous voulez utiliser quelque chose de similaire au JavaScript, il vous suffit de convertir d'abord en chaînes:

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

Mais un (bien) meilleur moyen serait d'utiliser l'option de formatage:

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

Vous pouvez théoriquement faire la chose entière simplement:

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

Utilisez $ avant "" cela permettra d'écrire des variables entre ces crochets 

 Console.WriteLine($"{mon}.{da}.{yer}");

La manière pro:

  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

mois5 jour24 année2016

0
piro_gert

Essayez ceci:

string format = "{0} / {1} / {2} {3}";
string date = string.Format(format,mon.ToString(),da.ToString(),yer.ToString();
Console.WriteLine(date);

En fait, il existe probablement un moyen de le formater automatiquement sans même le faire vous-même.

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

0
Mike C.

Simple comme:

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

lien vers MSDN sur TOUTES les options de formatage pour la méthode DateTime.ToString ()

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

0
phillk6751