本文整理汇总了C#中VList.RemoveAt方法的典型用法代码示例。如果您正苦于以下问题:C# VList.RemoveAt方法的具体用法?C# VList.RemoveAt怎么用?C# VList.RemoveAt使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类VList
的用法示例。
在下文中一共展示了VList.RemoveAt方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: TestEmptyListOperations
public void TestEmptyListOperations()
{
VList<int> a = new VList<int>();
VList<int> b = new VList<int>();
a.AddRange(b);
a.InsertRange(0, b);
a.RemoveRange(0, 0);
Assert.That(!a.Remove(0));
Assert.That(a.IsEmpty);
a.Add(1);
b.AddRange(a);
ExpectList(b, 1);
b.RemoveAt(0);
Assert.That(b.IsEmpty);
b.InsertRange(0, a);
ExpectList(b, 1);
b.RemoveRange(0, 1);
Assert.That(b.IsEmpty);
b.Insert(0, a[0]);
ExpectList(b, 1);
b.Remove(a.Last);
Assert.That(b.IsEmpty);
AssertThrows<InvalidOperationException>(delegate() { a.NextIn(b); });
}
示例2: MethodArgListAndBody
LNode MethodArgListAndBody(int startIndex, int targetIndex, VList<LNode> attrs, Symbol kind, LNode type, LNode name)
{
TokenType la0;
Token lit_colon = default(Token);
var lp = Match((int) TT.LParen);
var rp = Match((int) TT.RParen);
WhereClausesOpt(ref name);
// line 1686
LNode r, _, baseCall = null;
// line 1686
int consCallIndex = -1;
// Line 1687: (TT.Colon (TT.Base|TT.This) TT.LParen TT.RParen)?
la0 = LA0;
if (la0 == TT.Colon) {
lit_colon = MatchAny();
var target = Match((int) TT.Base, (int) TT.This);
var baselp = Match((int) TT.LParen);
var baserp = Match((int) TT.RParen);
// line 1689
baseCall = F.Call((Symbol) target.Value, ExprListInside(baselp), target.StartIndex, baserp.EndIndex, target.StartIndex, target.EndIndex);
if ((kind != S.Constructor)) {
Error(baseCall, "This is not a constructor declaration, so there should be no ':' clause.");
}
consCallIndex = lit_colon.StartIndex;
}
// line 1697
for (int i = 0; i < attrs.Count; i++) {
var attr = attrs[i];
if (IsNamedArg(attr) && attr.Args[0].IsIdNamed(S.Return)) {
type = type.PlusAttr(attr.Args[1]);
attrs.RemoveAt(i);
i--;
}
}
// Line 1706: (default TT.Semicolon | MethodBodyOrForward)
do {
switch (LA0) {
case TT.Semicolon:
goto match1;
case TT.At: case TT.Forward: case TT.LambdaArrow: case TT.LBrace:
{
var body = MethodBodyOrForward(false, out _, false, consCallIndex);
// line 1720
if (kind == S.Delegate) {
Error("A 'delegate' is not expected to have a method body.");
}
if (baseCall != null) {
if ((!body.Calls(S.Braces))) {
body = F.Braces(LNode.List(body), startIndex, body.Range.EndIndex);
}
body = body.WithArgs(body.Args.Insert(0, baseCall));
}
var parts = new VList<LNode> {
type, name, ArgList(lp, rp), body
};
r = F.Call(kind, parts, startIndex, body.Range.EndIndex, targetIndex, targetIndex);
}
break;
default:
goto match1;
}
break;
match1:
{
var end = Match((int) TT.Semicolon);
// line 1708
if (kind == S.Constructor && baseCall != null) {
Error(baseCall, "A method body is required.");
var parts = LNode.List(type, name, ArgList(lp, rp), LNode.Call(S.Braces, new VList<LNode>(baseCall), baseCall.Range));
r = F.Call(kind, parts, startIndex, baseCall.Range.EndIndex, targetIndex, targetIndex);
} else {
var parts = LNode.List(type, name, ArgList(lp, rp));
r = F.Call(kind, parts, startIndex, end.EndIndex, targetIndex, targetIndex);
}
}
} while (false);
// line 1731
return r.PlusAttrs(attrs);
}
示例3: 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]);
}