我如何将跟随代码转换为一行

if (data.BaseCompareId == 2)
    report.Load(Server.MapPath("~/Content/StimulReports/MonthGroup.mrt"));
else
    report.Load(Server.MapPath("~/Content/StimulReports/YearGroup.mrt"));


我尝试此代码,但没有用

data.BaseCompareId == 2
    ? report.Load(Server.MapPath("~/Content/StimulReports/MonthGroup.mrt"))
    : report.Load(Server.MapPath("~/Content/StimulReports/YearGroup.mrt"));

最佳答案

试试这个代替:

string path = data.BaseCompareId == 2
    ? "~/Content/StimulReports/MonthGroup.mrt"
    : "~/Content/StimulReports/YearGroup.mrt";
report.Load(Server.MapPath(path));


由于report.Load()返回一个void,因此它将无法工作。

编辑版本:

string s = data.BaseCompareId == 2
      ? "MonthGroup.mrt"
      : "YearGroup.mrt";
report.Load(Server.MapPath("~/Content/StimulReports/" + s));

关于c# - 如何将其他行转换为另一行?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19765763/

10-11 17:53