Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为什么内部循环中的检查条件永远不为真?_C#_.net - Fatal编程技术网

C# 为什么内部循环中的检查条件永远不为真?

C# 为什么内部循环中的检查条件永远不为真?,c#,.net,C#,.net,在锁定链接中,此链接: http://rotter.net/forum/scoops1/112341.shtml 两个链接都指向同一页。这意味着两者都是一样的。 所以在这种情况下,它应该在我添加的断点处停止:string h=found; 但由于它从未停止在那里,我想我的IF条件出了问题 如果找到了,我想从FilteredLink和LockedLink中删除链接,以从两个列表中删除假定相同的链接。链接在地址上是不相同的,但它们指向同一页,所以我认为它们是相同的/相同的,它们都应该被删除。 <

在锁定链接中,此链接:

http://rotter.net/forum/scoops1/112341.shtml
两个链接都指向同一页。这意味着两者都是一样的。 所以在这种情况下,它应该在我添加的断点处停止:string h=found; 但由于它从未停止在那里,我想我的IF条件出了问题


如果找到了,我想从FilteredLink和LockedLink中删除链接,以从两个列表中删除假定相同的链接。链接在地址上是不相同的,但它们指向同一页,所以我认为它们是相同的/相同的,它们都应该被删除。

< P>如果您知道URI格式,那么您可以从不同的URI类型中提取ID,并比较那些:

http://rotter.net/cgi-bin/forum/dcboard.cgi?az=read_count&om=112341&forum=scoops1

如果你知道id总是数字的,你可以更准确地解析它,并比较整数而不是字符串。

我相信你自己的问题回答了它…-它们不一样。考虑到这两个链接不同,为什么它应该在一个contains'中解析为相同的?链接不相同,但因为它们都在数字112341中,所以它们是相同的导致同一页,这就是为什么我认为它们是相同的,应该被删除。那么为什么不写代码中的逻辑呢?
http://rotter.net/cgi-bin/forum/dcboard.cgi?az=read_count&om=112341&forum=scoops1
private static string GetArticleIdFiltered(string filtered)
{
    var uri = new Uri(filtered);
    return Path.GetFileNameWithoutExtension(uri.LocalPath);
}

private static string GetArticleIdLocked(string locked)
{
    var uri = new Uri(locked);
    var queryParams = HttpUtility.ParseQueryString(uri.Query);
    return queryParams["om"];
}

for (int x = 0; x < lockedLinks.Count; x++)
{
    var lockedArticle = GetArticleIdLocked(lockedLinks[x]);
    var filteredId = GetArticleIdFiltered(ExtractLinks.FilteredLinks[i]);
    if (lockedArticle == filteredId)
    {
        string h = "found";
    }
}