а поле tmptable.UtilElementType - имеет тип Enum UtilElementType?
если - да, то На правах предположения:
следует учесть, что перечисление может не иметь элемента с EnumValue 0, да и эти EnumValue в перечислении могут не идти сплошным множеством. Это я про выражение
X++:
tmptable.UtilElementType == i
ведь i в данном случае - только порядковый номер элемента в перечислении, а tmptable.UtilElementType - это значение перечисления, что не обязательно одно и то же.
возможно правильнее было-бы что-то типа:
X++:
tmptable.UtilElementType == SysDictEnum.index2Value(i)