url = url.Replace(".html", "");  替换 html为空
            string[] urls = url.Split('_');  根据 _ 把url内容拆分
            return 你这边加了return 后面就不执行了!

解决方案 »

  1.   

    你太粗心了,
    人家只是换行,语句并没有结束是的,我看错了版主细心,return 后面没有分号
      

  2.   

    quote=引用 1 楼 diaodiaop 的回复:]
    替换分割数组查询判断.....
      

  3.   


    这是一行,怎么加注释。private static string CreateUrl(string url, Model.GoodsTags model)
            {
                url = url.Replace(".html", "");
                string[] urls = url.Split('_');
                return  urls.Where(s => !string.IsNullOrEmpty(s)).Where( s => s.Split('-')[0].IndexOf(  string.IsNullOrEmpty(model.UrlTag.Trim()) ? model.TopLevel.ToString() : model.UrlTag.Trim(), StringComparison.Ordinal) >= 0)  .Aggregate(url, (current, s) =>  current.Replace(s, (string.IsNullOrEmpty(model.UrlTag.Trim()) ? model.TopLevel.ToString() : model.UrlTag.Trim()) + "-" + model.ID));
            }
      

  4.   


    这是一行,怎么加注释。private static string CreateUrl(string url, Model.GoodsTags model)
            {
                url = url.Replace(".html", "");
                string[] urls = url.Split('_');
                return  urls.Where(s => !string.IsNullOrEmpty(s)).Where( s => s.Split('-')[0].IndexOf(  string.IsNullOrEmpty(model.UrlTag.Trim()) ? model.TopLevel.ToString() : model.UrlTag.Trim(), StringComparison.Ordinal) >= 0)  .Aggregate(url, (current, s) =>  current.Replace(s, (string.IsNullOrEmpty(model.UrlTag.Trim()) ? model.TopLevel.ToString() : model.UrlTag.Trim()) + "-" + model.ID));
            }你可以写这句话是干嘛的 就足够了
      

  5.   

    urls.Where(s => !string.IsNullOrEmpty(s)).Where( s => s.Split('-')[0].IndexOf(  string.IsNullOrEmpty(model.UrlTag.Trim()) ? model.TopLevel.ToString() : model.UrlTag.Trim(), StringComparison.Ordinal) >= 0)  .Aggregate(url, (current, s) =>  current.Replace(s, (string.IsNullOrEmpty(model.UrlTag.Trim()) ? model.TopLevel.ToString() : model.UrlTag.Trim()) + "-" + model.ID));
    三目运算符嵌套三目运算符,你完全可以拆分开来
    private string GetResult()
    {
           string s=     model.UrlTag.Trim(), StringComparison.Ordinal) >= 0)  .Aggregate(url, (current, s)
    s =>  current.Replace(s, (string.IsNullOrEmpty(model.UrlTag.Trim()) ? mo
    del.TopLevel.ToString() : model.UrlTag.Trim()) + "-" + model.ID));
           return s;
    }
    urls.Where(s => !string.IsNullOrEmpty(s)).Where( s => s.Split('-')[0].IndexOf(  string.IsNullOrEmpty(model.UrlTag.Trim()) ? model.TopLevel.ToString():GetResult();还可以继续拆分,要不然可读性非常差
      

  6.   

    看不懂了就删除掉,然后根据所有的用例要求,重新写一个看得懂的呗。这跟是否使用linq没有关系。比如说我就愿意写    from s in urls
           where ......
           let .......
           select ......这样的形式的代码,我比较烦写    urls.where(s=>....).select(....)这样的代码。后者看上去好像挺厉害似地,可是太容易乱,没有真正的表现力,只有捣乱。