Как я могу записать эти переменные в одну строку кода на С#? - программирование
Подтвердить что ты не робот

Как я могу записать эти переменные в одну строку кода на С#?

Я новичок в С#, буквально на стр. 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);

Любая помощь здесь оценена.

4b9b3361

Ответ 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).

Ответ 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

Ответ 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