本文整理汇总了C#中VList.Contains方法的典型用法代码示例。如果您正苦于以下问题:C# VList.Contains方法的具体用法?C# VList.Contains怎么用?C# VList.Contains使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类VList
的用法示例。
在下文中一共展示了VList.Contains方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: SimpleTests
public void SimpleTests()
{
// In this simple test, I only add and remove items from the back
// of a VList, but forking is also tested.
VList<int> list = new VList<int>();
Assert.That(list.IsEmpty);
// Adding to VListBlockOfTwo
list = new VList<int>(10, 20);
ExpectList(list, 10, 20);
list = new VList<int>();
list.Add(1);
Assert.That(!list.IsEmpty);
list.Add(2);
ExpectList(list, 1, 2);
// A fork in VListBlockOfTwo. Note that list2 will use two VListBlocks
// here but list will only use one.
VList<int> list2 = list.WithoutLast(1);
list2.Add(3);
ExpectList(list, 1, 2);
ExpectList(list2, 1, 3);
// Try doubling list2
list2.AddRange(list2);
ExpectList(list2, 1, 3, 1, 3);
// list now uses two arrays
list.Add(4);
ExpectList(list, 1, 2, 4);
// Try doubling list using a different overload of AddRange()
list.AddRange((IList<int>)list);
ExpectList(list, 1, 2, 4, 1, 2, 4);
list = list.WithoutLast(3);
ExpectList(list, 1, 2, 4);
// Remove(), Pop()
Assert.AreEqual(3, list2.Pop());
ExpectList(list2, 1, 3, 1);
Assert.That(!list2.Remove(0));
Assert.AreEqual(1, list2.Pop());
Assert.That(list2.Remove(3));
ExpectList(list2, 1);
Assert.That(list2.Remove(1));
ExpectList(list2);
AssertThrows<Exception>(delegate() { list2.Pop(); });
// Add many, SubList(). This will fill 3 arrays (sizes 8, 4, 2) and use
// 1 element of a size-16 array. Oh, and test the enumerator.
for (int i = 5; i <= 16; i++)
list.Add(i);
ExpectList(list, 1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16);
list2 = list.WithoutLast(6);
ExpectListByEnumerator(list2, 1, 2, 4, 5, 6, 7, 8, 9, 10);
AssertThrows<IndexOutOfRangeException>(delegate() { int i = list[-1]; });
AssertThrows<IndexOutOfRangeException>(delegate() { int i = list[15]; });
// IndexOf, contains
Assert.That(list.Contains(11));
Assert.That(!list2.Contains(11));
Assert.That(list[list.IndexOf(2)] == 2);
Assert.That(list[list.IndexOf(1)] == 1);
Assert.That(list[list.IndexOf(15)] == 15);
Assert.That(list.IndexOf(3) == -1);
// PreviousIn(), Last
VList<int> list3 = list2;
Assert.AreEqual(11, (list3 = list3.NextIn(list)).Last);
Assert.AreEqual(12, (list3 = list3.NextIn(list)).Last);
Assert.AreEqual(13, (list3 = list3.NextIn(list)).Last);
Assert.AreEqual(14, (list3 = list3.NextIn(list)).Last);
Assert.AreEqual(15, (list3 = list3.NextIn(list)).Last);
Assert.AreEqual(16, (list3 = list3.NextIn(list)).Last);
AssertThrows<Exception>(delegate() { list3.NextIn(list); });
// Next
Assert.AreEqual(10, (list3 = list3.WithoutLast(6)).Last);
Assert.AreEqual(9, (list3 = list3.Tail).Last);
Assert.AreEqual(8, (list3 = list3.Tail).Last);
Assert.AreEqual(7, (list3 = list3.Tail).Last);
Assert.AreEqual(6, (list3 = list3.Tail).Last);
Assert.AreEqual(5, (list3 = list3.Tail).Last);
Assert.AreEqual(4, (list3 = list3.Tail).Last);
Assert.AreEqual(2, (list3 = list3.Tail).Last);
Assert.AreEqual(1, (list3 = list3.Tail).Last);
Assert.That((list3 = list3.Tail).IsEmpty);
// list2 is still the same
ExpectList(list2, 1, 2, 4, 5, 6, 7, 8, 9, 10);
// ==, !=, Equals(), AddRange(a, b)
Assert.That(!list2.Equals("hello"));
list3 = list2;
Assert.That(list3.Equals(list2));
Assert.That(list3 == list2);
// This AddRange forks the list. List2 ends up with block sizes 8 (3
// used), 8 (3 used), 4, 2.
//.........这里部分代码省略.........