当前位置: 首页>>代码示例>>C#>>正文


C# Set.GetEnumerator方法代码示例

本文整理汇总了C#中System.Collections.Set.GetEnumerator方法的典型用法代码示例。如果您正苦于以下问题:C# Set.GetEnumerator方法的具体用法?C# Set.GetEnumerator怎么用?C# Set.GetEnumerator使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在System.Collections.Set的用法示例。


在下文中一共展示了Set.GetEnumerator方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: TestSetDifference

 public void TestSetDifference(Set<string> setFirst, Set<string> setSecond, Set<string> resultSet)
 {
     setFirst.Difference(setSecond);
     var iteratorFirst = setFirst.GetEnumerator();
     var resultIterator = resultSet.GetEnumerator();
     while (iteratorFirst.MoveNext() && resultIterator.MoveNext())
     {
         Assert.AreEqual(iteratorFirst.Current, resultIterator.Current);
     }
 }
开发者ID:ZheldakArtem,项目名称:EPAM.Summer.Day10-11.Zheldak,代码行数:10,代码来源:SetTest.cs

示例2: createDFASets

        /*** Given the DFA set of states, generate the DFAmin set of states. ***/
        private ArrayList createDFASets(Set DFAset, Set chrSet)
        {
            // array of all set of DFA states
            ArrayList arr = new ArrayList();

            // to tracks transitions
            SetHashtable hashSet = new SetHashtable();

            // to track states
            Set emtySet = new Set();
            Set finalStates = new Set();
            Set otherStates = new Set();

            // 1) divide on final and non-final states criteria
            foreach (object objState in DFAset)
            {
                AutomataState state = (AutomataState)objState;
                if (!state.IsFinalState)
                {
                    otherStates.addElement(state);
                }
                else
                {
                    finalStates.addElement(state);
                }
            }

            // 2) fill arr with states (final + eventually other)
            if (otherStates.NumOfElement > 0)
            {
                arr.Add(otherStates);
            }

            arr.Add(finalStates);

            // 3) iterate on set of symbols
            IEnumerator chrIterator = chrSet.GetEnumerator();
            chrIterator.Reset();
            while (chrIterator.MoveNext())
            {
                // get transition symbol
                string sym = chrIterator.Current.ToString();

                int i = 0;
                while (i < arr.Count)
                {
                    Set setToBePartitioned = (Set)arr[i++];

                    // cannot divide a set with once or less elements
                    if (setToBePartitioned.NumOfElement == 0 || setToBePartitioned.NumOfElement == 1)
                    {
                        continue;
                    }

                    foreach (object objState in setToBePartitioned)
                    {
                        AutomataState state = (AutomataState)objState;
                        List<AutomataState> statesList = state.getAllDestStatesWithStringTransaction(sym.ToString());

                        if (statesList != null && statesList.Count > 0)
                        {
                            // could be only once
                            AutomataState stateTransionTo = statesList[0];

                            // get the set that contains "stateTransitionTo"
                            Set foundedSet = findInWhichSet(arr, stateTransionTo);
                            hashSet.Add(foundedSet, state);
                        }
                        else
                        {
                            // if there are no transition, add a transition to emptyset
                            hashSet.Add(emtySet, state);
                        }
                    }

                    if (hashSet.Count > 1)  // means some states transition into different groups
                    {
                        arr.Remove(setToBePartitioned);
                        foreach (DictionaryEntry de in hashSet)
                        {
                            Set setValue = (Set)de.Value;
                            arr.Add(setValue);
                        }

                        // restart from begin (reset to initial loop state)
                        i = 0;
                        chrIterator.Reset();
                    }

                    hashSet.Clear();
                }
            }

            return arr;
        }
开发者ID:PeppeMir,项目名称:RegEx-Parser-Interpreter-Compiler,代码行数:96,代码来源:RExpr.cs


注:本文中的System.Collections.Set.GetEnumerator方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。