variable not declared?

Hello, I’ve got an error and I don’t know how to fix this… Looks like the variable isn’t declared but I’ve got a warning as well wich says:

Assets/scripts 1/Character Classes/ModifiedStat.cs(20,45): warning CS0219: The variable `att’ is assigned but its value is never used

This is my error:

Assets/scripts 1/Character Classes/ModifiedStat.cs(21,52): error CS0841: A local variable `att’ cannot be used before it is declared

and this is my script:

using System.Collections.Generic;

public class ModifiedStat : BaseStat {
	private List<ModifyingAttribute> _mods;	//a list of Attributes that modify the stats
	public int _modValue;					//The amount added to the baseValue
	
	public ModifiedStat() {
		_mods = new List<ModifyingAttribute>();
		_modValue = 0;
	}
	
	public void AddModifier( ModifyingAttribute mod) {
		_mods.Add(mod);
	}
	
	private void CalculateModValue() {
		_modValue = 0;
		
		if(_mods.Count > 0)
		{foreach(ModifyingAttribute att in _mods);
				_modValue += (int)(att.attribute.AdjustedValue * att.ratio);
		}
	}
	
	public new int AdjustedBaseValue {
		get{ return _baseValue + BuffValue + _modValue; }
	}
	
	public void Update() {
		CalculateModValue();
	}
}

public struct ModifyingAttribute {
	public Attribute attribute;
	public float ratio;
}

Thank you all for any help!

I already solved the problem:)