public object GetVal(string key) { int i = 0; PKeyCharValue aTempTreeList = aPKeyTreeHeadList; int iTempIndex = aTempTreeList.IndexOfArray(key[i]); while (iTempIndex != NOTFOUND) { i++; if (i >= key.Length) { aTempTreeList = (PKeyCharValue)aTempTreeList.aPKeyTreeList[iTempIndex]; break; } aTempTreeList = (PKeyCharValue)aTempTreeList.aPKeyTreeList[iTempIndex]; iTempIndex = aTempTreeList.IndexOfArray(key[i]); } if (iTempIndex == NOTFOUND) { return(null); } else { return(aTempTreeList.sValue); } }
public void SetVal(string key, object val) { int i = 0; PKeyCharValue aTempTreeList = aPKeyTreeHeadList; int iTempIndex = aTempTreeList.IndexOfArray(key[i]); while (iTempIndex != NOTFOUND) { i++; if (i >= key.Length) { aTempTreeList = (PKeyCharValue)aTempTreeList.aPKeyTreeList[iTempIndex]; break; } aTempTreeList = (PKeyCharValue)aTempTreeList.aPKeyTreeList[iTempIndex]; iTempIndex = aTempTreeList.IndexOfArray(key[i]); } if (iTempIndex == NOTFOUND) { AddPrimaryKey(key, val); //找不着就添加一个 } else { aTempTreeList.sValue = val; } }