コード例 #1
0
        public SList <V> toList()
        {
            SList <V> re = new SList <V>(_size);

            if (_size == 0)
            {
                return(re);
            }

            V[] rValues = re.getValues();

            V[] values = _values;

            //正常的
            if (_end > _start)
            {
                Array.Copy(values, _start, rValues, 0, _end - _start);
            }
            else
            {
                int d = values.Length - _start;

                Array.Copy(values, _start, rValues, 0, d);
                Array.Copy(values, 0, rValues, d, _end);
            }

            re.justSetSize(_size);

            return(re);
        }
コード例 #2
0
ファイル: SSet.cs プロジェクト: shineTeam7/home3
        /** 获取排序好的List */
        public SList <K> getSortedList()
        {
            SList <K> list = new SList <K>(_size);

            if (_size == 0)
            {
                return(list);
            }

            K[] values = list.getValues();
            int j      = 0;

            K[] keys = _set;
            K   k;

            for (int i = keys.Length - 1; i >= 0; --i)
            {
                if ((k = keys[i]) != null)
                {
                    values[j++] = k;
                }
            }

            list.justSetSize(size());

            list.sort();

            return(list);
        }
コード例 #3
0
        /** 获取名为name的子组 */
        public SList <XML> getChildrenByName(string name)
        {
            SList <XML> list = new SList <XML>();

            XML[] values = _children.getValues();
            XML   v;

            for (int i = 0, len = _children.size(); i < len; ++i)
            {
                if ((v = values[i])._name.Equals(name))
                {
                    list.add(v);
                }
            }

            return(list);
        }
コード例 #4
0
        private static void onSecond()
        {
            BaseThread[] values = _threadList.getValues();

            for (int i = 0, len = _threadList.size(); i < len; ++i)
            {
                values[i].check();
            }
        }
コード例 #5
0
ファイル: SSet.cs プロジェクト: shineTeam7/home3
        /** 添加一组 */
        public void addAll(SList <K> list)
        {
            if (list.isEmpty())
            {
                return;
            }

            K[] values = list.getValues();

            for (int i = 0, len = list.size(); i < len; ++i)
            {
                add(values[i]);
            }
        }
コード例 #6
0
ファイル: GridContainer.cs プロジェクト: shineTeam7/home3
        /// <summary>
        /// 设置格子数据
        /// </summary>
        /// <param name="list">数据列表</param>
        public void setDataList <T>(SList <T> list)
        {
            SList <object> temp;

            (temp = _dataList).clear();

            T[] values = list.getValues();
            for (int i = 0, len = list.size(); i < len; i++)
            {
                temp.add(values[i]);
            }

            clearDataCache();

            doSetDataList();
        }
コード例 #7
0
ファイル: ACStringFilter.cs プロジェクト: shineTeam7/home3
        public bool init(SList <string> keyWords)
        {
            clear();

            if (keyWords != null && !keyWords.isEmpty())
            {
                string[] values = keyWords.getValues();
                string   v;

                for (int i1 = 0, len = keyWords.size(); i1 < len; ++i1)
                {
                    v = values[i1];

                    if (v == null || (v = StringUtils.trim(v)).Length == 0)
                    {
                        continue;
                    }

                    DFANode currentDFANode = dfaEntrance;
                    for (int i = 0; i < v.Length; i++)
                    {
                        char _c = v[i];
                        // 逐点加入DFA
                        char    _lc   = toLowerCaseWithoutConfict(_c);
                        DFANode _next = currentDFANode.dfaTransition.get(_lc);
                        if (_next == null)
                        {
                            _next = new DFANode();
                            currentDFANode.dfaTransition.put(_lc, _next);
                        }
                        currentDFANode = _next;
                    }
                    if (currentDFANode != dfaEntrance)
                    {
                        currentDFANode.isTerminal = true;
                    }
                }
            }

            buildFailNode();
            return(true);
        }
コード例 #8
0
ファイル: AssetPoolControl.cs プロジェクト: shineTeam7/home3
            private void onLoadComplete()
            {
                _loadState = LoadState_Complete;

                Action[] values = _callFuncs.getValues();

                for (int i = 0, len = _callFuncs.size(); i < len; ++i)
                {
                    try
                    {
                        values[i]();
                    }
                    catch (Exception e)
                    {
                        Ctrl.errorLog(e);
                    }

                    values[i] = null;
                }

                _callFuncs.justClearSize();
            }