Avoid FormattableString

This page is not yet available in Spanish. We are working on its translation.
If you have any questions or feedback about our current translation project, feel free to reach out to us!

Metadata

ID: csharp-best-practices/avoid-formattablestring

Language: C#

Severity: Info

Category: Performance

Description

The function string.Create prevents unnecessary allocations. It should be preferred over FormattableString functions.

Learn More

Non-Compliant Code Examples

class MyClass {
    public static void myFunction(string s)
    {
        Console.WriteLine(FormattableString.CurrentCulture("foobar"));
        Console.WriteLine(FormattableString.Invariant($"Counter: {(int)counter}"));
    }
}

Compliant Code Examples

class MyClass {
    public static void myFunction(string s)
    {
        Console.WriteLine(string.Create(CultureInfo.CurrentCulture, "foobar"));
        Console.WriteLine(string.Create(CultureInfo.InvariantCulture, $"Counter: {(int)counter}"));
    }
}
https://static.datadoghq.com/static/images/logos/github_avatar.svg https://static.datadoghq.com/static/images/logos/vscode_avatar.svg jetbrains

Seamless integrations. Try Datadog Code Analysis