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.
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.
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.
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).
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.
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);
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"));
}
}
}
DateTime dateTime = dateTime.Today.ToString("MM.dd.yyyy");
Console.Write(dateTime);
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
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
Simple comme:
DateTime.Now.ToString("MM.dd.yyyy");
lien vers MSDN sur TOUTES les options de formatage pour la méthode DateTime.ToString ()