0

ユーザーがフォーマット文字列を入力していくつかのパラメーターをフォーマットするシナリオがあります。.NET Framework(C#)のパラメーターの特定の数に基づいて、フォーマット文字列が無効であると判断するにはどうすればよいですか?
それを行うためのフレームワークの方法はありますか?または私は手動の方法を試す必要がありますか?

サンプル状況:

string format = "test {0}, {1}";
var res = string.Format(format, 23);
4

2 に答える 2

3

MSDNの記事の下にある、文字列の形式を検証するために正規表現を使用できます。

http://msdn.microsoft.com/fr-fr/library/system.text.regularexpressions.regex.aspx

于 2012-08-01T07:55:46.400 に答える
0

エスケープされた中括弧のカウント方法(ドキュメントを参照)のため、フォーマット文字列の解析は必ずしも簡単ではありませんが、正規表現であり、Regex.Matches().Count十分に正確である必要があります。

string format = "test {0}, {1}";
var expectedParameters = Regex.Matches(format, "(?<!\\{)\\{[^}]*?\\}").Count;
于 2012-08-01T08:04:19.177 に答える