I have a List of tuple `<Tuple<int, int>>` x in that I am getting key and value as (45345, 1), (54645,0), (45345,0)
and I have a `Dictionary < int, string > PathList` in that I am getting key and value as (45345, asdfsd234egsgdfgs56345), (54645, 0dfsd234egsgdfgs563456), (45345,0dfsd234egsgdfgs56345234)

I am trying

```
    foreach (var item in PathList)
    {
       if (x.Equals(item.Key) && x[item.Key].Equals(0))
       {
         string path1 = Path.Combine(GetDirectory(item.Value), item.Value);
         File.Delete(path1);
       } 
    }

```

I want to check if X of id is same as PathList of id and x of value must have value 0 then enter inside the condition... what I am doing now in that in any condition I am unable to go inside the If statement.

How to check my condition?

Let me explain more: [check this qus](https://stackoverflow.com/questions/9411746/adding-item-in-dictionary-showing-an-error-an-item-with-the-same-key-has-alread) is this I am returning a list of tuple in which i am getting (54356, 0), (64643, 0), (34365, 1) in in my ascx page I have List of tuple `<Tuple<int, int>>` x, in this x i am getting all return value of list, now in the same ascx page I have `Dictionary < int, string > PathList` in that i am adding the value ImgPathList.Add(54356, 456dfhgdfg6575dfghdf); so I got 2 different list one is x and other is Pathlist.

Now i want to check. if pathlist is having the id and 54356 and x has 54356 and 0 then enter inside the if statement else show the lable msg as file can't be delete