You can't change Values
property after object has been created, just pass it as parameter in ConditionExpression
constructor:
var modifiedOnCondition = new ConditionExpression(
"modifiedon",
ConditionOperator.Between,
new Object[] { startDate, endDate });