Code inspection: String.Format(format, ...) は文字列リテラルおよび const 文字列のみを受け付けます。
このインスペクションは、 バーストコンパイラー(英語)によってコンパイルされたコード内の string.Format(...) 呼び出しのうち、フォーマット引数が文字列リテラル、定数文字列、補間文字列ではないものを報告します。
Burst は、制限された形式の string.Format のみをサポートしています。 フォーマット文字列が可変フィールド、変数、その他の非定数ソースから取得された場合、このインスペクションは警告を発します。
サンプル
この例では、フォーマット文字列が静的フィールドに格納されています。 これは Burst コンパイルされたコードではサポートされていません。
using Unity.Burst;
using Unity.Jobs;
[BurstCompile]
public struct ExampleJob : IJob
{
private static string format = "Value: {0}";
public void Execute()
{
// Reported: mutable format string is not supported
string.Format(format, 12);
}
}
using Unity.Burst;
using Unity.Jobs;
[BurstCompile]
public struct ExampleJob : IJob
{
public void Execute()
{
// Correct: Use a string literal directly
string.Format("Value: {0}", 12);
}
}
クイックフィックス
このインスペクションには専用のクイックフィックス機能がありません。 フォーマット引数を文字列リテラルまたは const 文字列に置き換えることで手動で修正してください。
2026 年 6 月 12 日