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


C# SortedDictionary.ToArray方法代码示例

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


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

示例1: EquivalentTest

        public void EquivalentTest()
        {
            var dictHiddenIsotopeModNames = UniMod.DictHiddenIsotopeModNames;
            var dictHiddenStructuralModNames = UniMod.DictHiddenStructuralModNames;
            var dictIsotopeModNames = UniMod.DictIsotopeModNames;
            var dictStructuralModNames = UniMod.DictStructuralModNames;

            var compareDict = new SortedDictionary<string, int>();
            var massCalc = new SequenceMassCalc(MassType.Monoisotopic);

            foreach (var dict in new[]
                        {
                            dictStructuralModNames,
                            dictIsotopeModNames,
                            dictHiddenStructuralModNames,
                            dictHiddenIsotopeModNames
                        })
            {
                var unimodArray = dict.ToArray();
                var actualDict = new SortedDictionary<string, int>();
                int actualCount = EquivalentValues(actualDict, unimodArray);

                int count, totalCount = 0;
                // Check that modifications are identified with improper name.
                StaticMod modToMatch;
                for (int i = 0; i < unimodArray.Length; i++)
                {
                    var original = unimodArray[i].Value;

                    modToMatch = (StaticMod) original.ChangeName("Test");

                    count = CountEquivalent(unimodArray, modToMatch, compareDict, i);
                    Assert.IsTrue(count >= 1);
                    totalCount += count;
                }

                Assert.AreEqual(actualCount, totalCount);
                Assert.IsTrue(ArrayUtil.EqualsDeep(actualDict.ToArray(), compareDict.ToArray()));

                compareDict.Clear();
                totalCount = 0;

                // Modify arrangement of formula.
                // Should still be able to identify correct modification.
                for (int i = 0; i < unimodArray.Length; i++)
                {
                    var original = unimodArray[i].Value;
                    modToMatch = (StaticMod)original.ChangeName("Test");
                    var formula = original.Formula;
                    if (formula != null)
                    {

                        var dictCounts = new Dictionary<string, int>();
                        massCalc.ParseModCounts(formula, dictCounts);

                        string newFormula = GetFormula(formula, dictCounts);

                        modToMatch = modToMatch.ChangeFormula(newFormula);
                    }

                    count = CountEquivalent(unimodArray, modToMatch, compareDict, i);
                    Assert.IsTrue(count >= 1);
                    totalCount += count;
                }
                Assert.IsTrue(actualCount == totalCount);
                Assert.IsTrue(ArrayUtil.EqualsDeep(actualDict.ToArray(), compareDict.ToArray()));

                compareDict.Clear();
                totalCount = 0;

                // Add and substract 5 hydrogen atoms to test complex formulas.
                for (int i = 0; i < unimodArray.Length; i++)
                {
                    var original = unimodArray[i].Value;

                    var formula = original.Formula;

                    modToMatch = (StaticMod) original.ChangeName("Test");
                    if (formula != null)
                    {

                        var dictCounts = new Dictionary<string, int>();
                        massCalc.ParseModCounts(formula, dictCounts);

                        if (dictCounts.TryGetValue("H", out count))
                            dictCounts["H"] = count + 5;
                        else
                            dictCounts["H"] = 5;

                        string newFormula = GetFormula(formula, dictCounts);
                        if (newFormula.Contains("-"))
                            newFormula = newFormula + "H5";
                        else
                            newFormula = newFormula + " - H5";
                        modToMatch = modToMatch.ChangeFormula(newFormula);
                    }

                    count = CountEquivalent(unimodArray, modToMatch, compareDict, i);
                    Assert.IsTrue(count >= 1);
                    totalCount += count;
//.........这里部分代码省略.........
开发者ID:lgatto,项目名称:proteowizard,代码行数:101,代码来源:ModEquivalentTest.cs


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