Is it possible to include a C# variable in a string variable without using a concatenator?

No, unfortunately C# is not PHP.
On the bright side though, C# is not PHP.


Almost, with a small extension method.

static class StringExtensions
{
    public static string PHPIt<T>(this string s, T values, string prefix = "$")
    {
        var sb = new StringBuilder(s);
        foreach(var p in typeof(T).GetProperties(BindingFlags.Public | BindingFlags.Instance))
        {
            sb = sb.Replace(prefix + p.Name, p.GetValue(values, null).ToString());
        }
        return sb.ToString();
    }
}

And now we can write:

string foo = "Bar";
int cool = 2;

var result = "This is a string $foo with $cool variables"
             .PHPIt(new { 
                    foo, 
                    cool 
                });

//result == "This is a string Bar with 2 variables"

No, it doesn't. There are ways around this, but they defeat the purpose. Easiest thing for your example is

Console.WriteLine("The date is {0}", DateTime.Now);