Possible en double:
Nullable types and the ternary operator. Why won’t this work?C# Nullable Type de question
par exemple:
int? taxid;
if (ddlProductTax.SelectedValue == "") {
taxid = null; }
else {
taxid = Convert.ToInt32(ddlProductTax.SelectedValue);
} //Correct
Mais
int? taxid;
taxid = (ddlProductTax.SelectedValue == "" ? null : Convert.ToInt32(ddlProductTax.SelectedValue)); //Error
Il erreur dire et int32 ne peut pas convertir implicitement.
Le (truepart: falsepart); n'est pas court de (si ..else ..)?
@Gishu, copie exacte, je dirais. @TatMing vérifier la réponse à la copie liée. – Paolo
Eric Lippert a couvert ceci dans un article de blog récent: [http://blogs.msdn.com/b/ericlippert/archive/2010/05/27/cast-operators-do-not-obey-the-distributive-law. aspx] (http://blogs.msdn.com/b/ericlippert/archive/2010/05/27/cast-operators-do-not-obey-the-distributive-law.aspx) – benPearce