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


C# VList.Pop方法代码示例

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


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

示例1: ListMatches

		private static bool ListMatches(VList<LNode> candidates, VList<LNode> patterns, ref MMap<Symbol, LNode> captures, ref VList<LNode> unmatchedAttrs)
		{
			if (patterns.Count != candidates.Count && !patterns.Any(IsParamsCapture))
				return false;

			// Scan from the end of the list to the beginning (RVLists is good at this),
			// matching args one-by-one. Use MatchThenParams() in case of $(params capture).
			while (!patterns.IsEmpty)
			{
				LNode pArg = patterns.Pop();
				if (IsParamsCapture(pArg))
					return MatchThenParams(candidates, patterns, pArg, ref captures, ref unmatchedAttrs);
				if (candidates.IsEmpty)
					return false;
				if (!MatchesPatternNested(candidates.Pop(), pArg, ref captures, ref unmatchedAttrs))
					return false;
			}
			return true;
		}
开发者ID:qwertie,项目名称:ecsharp,代码行数:19,代码来源:LNodeExt.cs

示例2: TestInsertRemove

		public void TestInsertRemove()
		{
			VList<int> list = new VList<int>(9);
			VList<int> list2 = new VList<int>(10, 11);
			list.Insert(0, 12);
			list.Insert(1, list2[1]);
			list.Insert(2, list2[0]);
			ExpectList(list, 12, 11, 10, 9);
			for (int i = 0; i < 9; i++)
				list.Insert(4, i);
			ExpectList(list, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0);

			list2 = list;
			for (int i = 1; i <= 6; i++)
				list2.RemoveAt(i);
			ExpectList(list2, 12, 10, 8, 6, 4, 2, 0);
			ExpectList(list, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); // unchanged

			Assert.AreEqual(0, list2.Pop());
			list2.Insert(5, -2);
			ExpectList(list2, 12, 10, 8, 6, 4, -2, 2);
			list2.Insert(5, -1);
			ExpectList(list2, 12, 10, 8, 6, 4, -1, -2, 2);

			// Test changing items
			list = list2;
			for (int i = 0; i < list.Count; i++)
				list[i] = i;
			ExpectList(list, 0, 1, 2, 3, 4, 5, 6, 7);
			ExpectList(list2, 12, 10, 8, 6, 4, -1, -2, 2);

			list2.Clear();
			ExpectList(list2);
			Assert.AreEqual(5, list[5]);
		}
开发者ID:qwertie,项目名称:ecsharp,代码行数:35,代码来源:VListTests.cs


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