C#, sprawdzanie przypisanych wartości w słownikach

0

witam,
mam w C# słownik który wygląda jakoś tak:

var liczniki = new Dictionary<Char, Int32>(); 

program wczytuje jeden wyraz i dla jego kolejnych znaków dodaje +1 do wartości liczniki[znak], potem drugi który robi to samo tylko -1
moje pytanie jest następujące: jak napisać pętlę foreach która sprawdzi czy wartości dla wszystkich znaków są równe zero?
ktoś potrafi pomóc? poniżej cały kod sprawdzający czy słowo jest anagramem, brakuje ostatniej pętli :/

         Func<String, string, Boolean> JestAnagramem = (napis1,napis2)=>
        {
		var liczniki = new Dictionary<Char, Int32>();
		foreach (var znak in napis1)
        {
			
            if(Char.IsLetter(znak))
            {
                var litera = Char.ToLower(znak);
                if (liczniki.ContainsKey(litera))
                {
                    liczniki[litera] += 1;
                }
                else
                {
                    liczniki[litera] = 1;
                }
            }
		}
		foreach (var znak in napis1)
        {
			
            if (Char.IsLetter(znak))
            {
                var litera = Char.ToLower(znak);
                if (liczniki.ContainsKey(litera))
                {
                    liczniki[litera] -= 1;
                }
                else
                {
                    return false;
                }
            }
		}
		/*foreach( char znak in liczniki) //tak niestety nie wolno
		{
			if(liczniki[znak]!=0)
			{
				return false;
			}
		} return true;*/
};
1

Chodzi o:

foreach (KeyValuePair<char, Int32> item in liczniki)
{
    // ...
}

?

0

no dobra a jak potem zrobić to porównanie do zera jak już mam takiego foreach'a?

1
if (item.Value != 0)
// ...
0

ok dzięki wielkie ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1