++staticの有無の差での違い
>静的メンバーはクラスごとに唯一つの実体を持ち、すべてのインスタンスの間で共有されます。
静的メンバー - C# によるプログラミング入門 | ++C++; // 未確認飛行 C
つまり、
readonlyはただの読み取り専用でインスタンス間で違う値を持てる
static readonlyは読み取り専用かつそのクラスの全てのインスタンスで共通の値を設定する
++constとの違い
基本的にconstはコンパイル時に値が確定している数値や文字列などの場合に、readonlyはnewにより生成されたオブジェクトなど実行時に値が決まるものを入れる
constとreadonlyとstatic readonly、それぞれの特徴と使い分け方 - Qiita