0

根据多个变量的无效性,您首选的执行操作的方法是什么:

IE:

invalid_get() {
    return a_invalid || b_invalid || c_invalid;
}

a_invalid_set(v) {
    a_invalid=v;
    if(v) {
        validate_add();
    } else {
        validate_remove();
    }
}
function validate_remove() {
    if(!invalid_get()) {
        validate_remove_do();
    }
}

或者:

var invalids_num:Int;
function a_invalid_set(v) {
    a_invalid=v;
    if(v) {
        ++invalids_num;
        validate_add();
    } else {
        --invalids_num;
        validate_remove();
    }
}

validate_remove() {
    if(invalids_num==0) {
        validate_remove_do();
    }
}

我猜对 0 的 int 检查更快,并且毫无疑问是正确的模式,当然对于大量属性而言。

4

0 回答 0