0

何かが足りないのですが、どうすればこれを機能させることができますか?

var now = DateTime.Now;
string loadStartDate = Request.QueryString["sd"] == String.Empty ? now.AddMonths( -14 ).ToShortDateString();
string loadEndDate = Request.QueryString[ "ed" ] == String.Empty ? now.ToShortDateString();

基本的に、sd および/または ed が空白の場合にページが読み込まれると、事前定義されたもので日付が埋められます。

4

3 に答える 3

5

:aとその後の部分を忘れています。

条件演算子には次の 3 つの部分があります。

  • 述語 ( Request.QueryString["sd"] == String.Empty)
  • 真の枝
  • 偽の枝

false ブランチの構文と値がありません。

私はそれを次のように書きます:

string loadStartDate = string.IsNullOrWhitespace(Request.QueryString["sd"])
                       ? now.AddMonths( -14 ).ToShortDateString()
                       : Request.QueryString["sd"];

ノート:

string.IsNullOrWhitespaceは .NET 4.0 の新機能であるためstring.IsNullOrEmpty、以前のバージョンに使用してください。

于 2012-05-03T15:29:04.197 に答える
1

次のようになります。

string loadStartDate = Request.QueryString["sd"] == String.Empty ? now.AddMonths
( -14 ).ToShortDateString():SOME OTHER VALUE;
于 2012-05-03T15:31:47.030 に答える
1

条件演算子の構文は次のとおりです。

condition ? truevalue : falsevalue

条件が false の場合のコロンと値がありません。

これには条件演算子を使用できますが、少し反復的になります。次のようにしてください:

DateTime now = DateTime.Now;
string loadStartDate = Request.QueryString["sd"];
if (String.IsNullOrEmpty(loadStartDate)) loadStartDate = now.AddMonths(-14).ToShortDateString();
string loadEndDate = Request.QueryString[ "ed" ];
if (String.IsNullOrEmpty(loadEndDate)) loadEndDate = now.ToShortDateString();
于 2012-05-03T15:33:57.823 に答える