0

このコードをコンパイルしようとすると構文エラーが発生しますが、その理由がよくわかりません。このコードの修正を手伝ってくれる人はいますか?

DateTime? ModifiedDate = null;

ModifiedDate = (dbReader["ModifiedDate"] == DBNull.Value ? null : DateTime.Parse(dbReader['ModifiedDate'].ToString()));
4

2 に答える 2

8

条件演算子に関しては、条件の両側が同じ型 (または相互に暗黙的に変換可能な型) を返す必要があります。

これは問題の一部である特定のタイプではありません-反対側と一致するようnullにキャストする必要があります-これには別の問題があります.DateTime?'"

以下が機能します。

DateTime? ModifiedDate = 
               dbReader["ModifiedDate"] == DBNull.Value ? 
                          (DateTime?)null : 
                          DateTime.Parse(dbReader["ModifiedDate"].ToString());
于 2013-05-31T19:24:20.547 に答える
1
DateTime? ModifiedDate = dbReader["ModifiedDate"] == DBNull.Value ? (DateTime?)null : DateTime.Parse(dbReader["ModifiedDate"].ToString());

文字列区切り記号の代わりに誤って文字区切り記号を使用しました。以上で決まりです。

于 2013-05-31T19:22:07.033 に答える