I’ve been writing C# for years. I knew about raw string literals with triple quotes. I knew about string interpolation with $. I didn’t know you could combine them.

An AI assistant showed me $$"""...""" while generating code. The number of dollar signs determines how many braces you need for interpolation. Two dollar signs means {{variable}} instead of {variable}. Useful for JSON, where braces are everywhere.

// Interpolation: escape quotes and double braces for literals
var json = $"{{ \"name\": \"{name}\", \"count\": {count} }}";

// Raw string interpolation: no escaped quotes, but still double braces
var json = $"""
    {{
        "name": "{name}",
        "count": {count}
    }}
    """;

// Raw string + $$: double braces for interpolation, single for literals
var json = $$"""
    {
        "name": "{{name}}",
        "count": {{count}}
    }
    """;

I wasn’t trying to learn anything. I was trying to get something else done and the knowledge arrived uninvited.

Working with AI coding assistants usually means teaching them. You provide context, explain patterns, correct the things they get subtly wrong. Information flows from developer to tool. This time it went the other way.

What to Make of It

There’s a version of this that stings. If an AI knows language features that I, a person who writes C# professionally, don’t know… what does that say? Am I just a middleman prompting something that’s better at my own job?

No. Expertise isn’t trivia. I’d never needed $$""" before, and now I know it exists. The AI didn’t replace my judgment about when to use raw interpolated strings or whether they’re appropriate in a given context. It showed me a tool. I’ll decide when it matters.

The New Shape of Learning

Learning used to be sequential: encounter a problem, search for a solution, absorb the knowledge, move on. Now it happens sideways. You’re watching an AI solve your problem and you notice it used something unfamiliar. Whether you bother understanding it is up to you.

The whole thing was less deliberate than any learning I’ve done before. I picked up this feature while shipping something, not while reading documentation I’d forget by Tuesday.