本文整理汇总了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;
//.........这里部分代码省略.........