Как я могу записать эти переменные в одну строку кода на С#?
Я новичок в С#, буквально на стр. 50, и мне любопытно, как писать эти переменные в одной строке кода:
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);
Любая помощь здесь оценена.
Ответы
Ответ 1
Посмотрите на составное форматирование:
Console.WriteLine("{0}.{1}.{2}", mon, da, yer);
Вы также можете написать (хотя это не очень рекомендуется):
Console.WriteLine(mon + "." + da + "." + yer);
И с выпуском С# 6.0 у вас есть выражения для интерполяции строк:
Console.WriteLine($"{mon}.{da}.{yer}"); // note the $ prefix.
Ответ 2
Вы можете сделать всю вашу программу в одной строке! Да, это правильно, одна строка!
Console.WriteLine(DateTime.Now.ToString("yyyy.MM.dd"));
Вы можете заметить, что я не использовал тот же формат даты, что и вы. Это потому, что вы должны использовать Международный формат даты, как описано в этом документе W3C. Каждый раз, когда вы его не используете, где-то умирает милое маленькое животное.
Ответ 3
Вы можете сделать почти то же самое, что и в 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).
Ответ 4
Вы должны попробовать следующее:
Console.WriteLine("{0}.{1}.{2}", mon, da, yet);
Подробнее см. http://www.dotnetperls.com/console-writeline.
Ответ 5
Если вы хотите использовать что-то похожее на JavaScript, вам просто нужно сначала преобразовать в строки:
Console.WriteLine(mon.ToString() + "." + da.ToString() + "." + yer.ToString());
Но лучше (лучше) использовать опцию формата:
Console.WriteLine("{0}.{1}.{2}", mon, da, yer);
Ответ 6
Теоретически вы можете сделать все просто:
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"));
}
}
}
Ответ 7
DateTime dateTime = dateTime.Today.ToString("MM.dd.yyyy");
Console.Write(dateTime);
Ответ 8
Дайте этому ходу:
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
Ответ 9
Прост как:
DateTime.Now.ToString("MM.dd.yyyy");
ссылка на MSDN для всех опций форматирования для метода DateTime.ToString()
http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx
Ответ 10
Используйте $before "", это позволит записывать переменные между этими скобками
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