このようなものを使用する方法はありますか:
private const int MaxTextLength = "Text i want to use".Length;
次のようなものを使用するよりも読みやすく、エラーが発生しにくいと思います。
private const int MaxTextLength = 18;
テキストの長さを定数変数のソースにする方法はありますか?
private readonly static int MaxTextLength = "Text i want to use".Length;
使用する static readonly
の代わりにconst
。
定数はコンパイル時の定数でなければなりません
残念ながら、constキーワードを使用している場合、「=」の右側の値はコンパイル時の定数でなければなりません。 "string" .lengthを使用するには、.NETコードを実行する必要があります。これは、コンパイル時ではなく、アプリケーションの実行時にのみ発生します。
フィールドをconstではなく読み取り専用にすることを検討できます。
値は定数である必要がありますか?あなたの場合、静的な読み取り専用は機能しますか?
private static readonly int MaxTextLength = "Text i want to use".Length;
これにより、最初の例と同様の方法でコードを記述できます。
なぜこれを実行するのかわからないが、どうすればよいか...
private const string MaxText = "Text i want to use.";
private static int MaxTextLength { get { return MaxText.Length; } }