我正在尝试在两个字符串列表上实现自定义比较器,并使用.Except()linq方法来获取那些不是列表中的一个.我正在做自定义比较器的原因是因为我需要进行"模糊"比较,即一个列表上的一个字符串可以嵌入到另一个列表中的字符串中.
我做了以下比较
public class ItemFuzzyMatchComparer : IEqualityComparer<string>
{
bool IEqualityComparer<string>.Equals(string x, string y)
{
return (x.Contains(y) || y.Contains(x));
}
int IEqualityComparer<string>.GetHashCode(string obj)
{
if (Object.ReferenceEquals(obj, null))
return 0;
return obj.GetHashCode();
}
}
Run Code Online (Sandbox Code Playgroud)
当我调试时,唯一的命中断点是在GetHashCode()方法中.Equals()永远不会被触及.有任何想法吗?
我正在开发一个新项目,我想使用Phil Haack Areas(1)idea + Steve Sanderson的调整(2).我有一个简单的根视图,其中包含一个视图区域(Foo)的动作链接.生成的URL具有适当的区域,但它在末尾附加根控制器(Bar).这是我的根视图代码:
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<h2>Index</h2>
<%= Html.ActionLink("Foo Index Page", "Index", new { area="Foo" } )%>
</asp:Content>
Run Code Online (Sandbox Code Playgroud)
这是它生成的URL:
本地主机:6494 /美孚/酒吧
知道为什么"/ Bar"在那里?
(1):haacked.com/archive/2008/11/04/areas-in-aspnetmvc.aspx
(2):blog.codeville.net/2008/11/05/app-areas-in-aspnet-mvc-take-2/