最好写这么长的if语句吗?唯一更改的是条件中的d=...

<%
if (
Request.Url.ToString().Contains("d=36423")
|| Request.Url.ToString().Contains("d=39252")
|| Request.Url.ToString().Contains("d=39280")
|| Request.Url.ToString().Contains("d=39251")
|| Request.Url.ToString().Contains("d=39246")
|| Request.Url.ToString().Contains("d=39245")
|| Request.Url.ToString().Contains("d=39244")
|| Request.Url.ToString().Contains("d=39243")
|| Request.Url.ToString().Contains("d=39242")
|| Request.Url.ToString().Contains("d=39241")
|| Request.Url.ToString().Contains("d=39240")
|| Request.Url.ToString().Contains("d=26009")
|| Request.Url.ToString().Contains("d=39239")
|| Request.Url.ToString().Contains("d=39238")
|| Request.Url.ToString().Contains("d=39237")
|| Request.Url.ToString().Contains("d=38816")
)
{%>

<div class="page-desktop-nav">

  <%} else {%>
  <div class="mobile-nav">
<%}%>

最佳答案

您可以将值存储在数组中,并使用类似以下的内容:

<%
var arr = new string[]
  {
    "36423",
    "39252",
    "39280",
    "39251",
    "39246",
    "39245",
    "39244",
    "39243",
    "39242",
    "39241",
    "39240",
    "26009",
    "39239",
    "39238",
    "39237",
    "38816"
  };

  string url = Request.Url.ToString();
  if (arr.Any(s => url.Contains(string.Format("d={0}", s)))) {
%>

关于c# - 如果陈述要简洁,请写长,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47818726/

10-12 03:38