public void RefreshView() { var enemiesToDelete = new List <Enemy>(); _spaceShip.RefreshBullets(); // Notify all subscribed enemies that shot was fired to update their health if they are // hiy foreach (var bullet in _spaceShip.Bullets) { for (var enemy = _iterator.First(); !_iterator.Done(); enemy = _iterator.Next()) { enemy.DidBulletHit(bullet.Position); if (enemy.Health == 0) { enemiesToDelete.Add(enemy); } } } enemiesToDelete.ForEach(EnemyUnsubscribe); foreach (var enemy in enemiesToDelete) { enemy.Accept(_visitor); } }
public override void UpdateGraphAppearance() { for (IIterator iterator = arrayIterator.First(); !arrayIterator.IsDone(); iterator = arrayIterator.Next()) { iterator.CurrentItem.BackColor = status.图形背景色; iterator.CurrentItem.Appearance = status.图形外观; } arrayIterator.First().CurrentItem.BackColor = status.头元素背景色; arrayIterator.First().CurrentItem.Appearance = status.图形外观; IGlyph glyph; glyph = ((ArrayIterator)arrayIterator).GetGlyphByIndex(currentIndex); if (glyph != null) { glyph.BackColor = status.当前背景色; glyph.Appearance = status.图形外观; } glyph = ((ArrayIterator)arrayIterator).GetGlyphByIndex(currentIndexI); if (glyph != null) { glyph.BackColor = status.当前背景色; glyph.Appearance = status.图形外观; } }
public override void UpdateGraphAppearance() { ((ArrayIterator)arrayIterator).SetElementsBackColor(GetIndexArray(), status.比较过元素颜色, status.线性表颜色); ((ArrayIterator)arrayIterator).SetBackColor(status.I, status.当前元素颜色, status.线性表颜色, false); if (nullIterator != null) { nullIterator.CurrentItem.BackColor = status.当前元素颜色; nullIterator.CurrentItem.Appearance = status.图形外观; } arrayIterator.First().CurrentItem.BackColor = status.头元素颜色; arrayIterator.First().CurrentItem.Appearance = status.图形外观; }
public override void UpdateGraphAppearance() { for (IIterator iterator = preOrderTreeIterator.First(); !preOrderTreeIterator.IsDone(); iterator = preOrderTreeIterator.Next()) { iterator.CurrentItem.BackColor = status.结点颜色; } for (IIterator iterator = visitedIterator.First(); !visitedIterator.IsDone(); iterator = visitedIterator.Next()) { if (iterator.CurrentItem != null) { iterator.CurrentItem.BackColor = status.遍历过结点颜色; } } }
List <T> IMyData <T> .GetAll() { List <T> list = new List <T>(); if (iterator.getSize() != 0) { list.Add(iterator.First()); while (!iterator.IsDone()) { list.Add(iterator.Next()); } } return(list); }
static void Main(string[] args) { ConcreteAggregate aggregate = new ConcreteAggregate(); aggregate.Add(new Category() { Name = "Csharp" }); aggregate.Add(new Category() { Name = "Asp.Net" }); aggregate.Add(new Category() { Name = "EntityFramework" }); aggregate.Add(new Category() { Name = ".NET CORE" }); IIterator iterator = aggregate.CreateIterator(); Console.WriteLine($"İlk eleman : {((Category)iterator.First()).Name}"); Console.WriteLine($"Son eleman : {((Category)iterator.Last()).Name}"); while (iterator.MoveNext()) { Console.WriteLine(((Category)iterator.Current()).Name); } Console.ReadLine(); }
public override void UpdateAnimationPad() { base.UpdateAnimationPad(); Graphics g = AlgorithmManager.Algorithms.ClearAnimationPad(); if (AlgorithmManager.Algorithms.CurrentAlgorithm != null) { if (circleNodeIterator != null) { for (IIterator iterator = circleNodeIterator.First(); !circleNodeIterator.IsDone(); iterator = circleNodeIterator.Next()) { iterator.CurrentItem.Draw(g); } } if (lineNodeIterator != null) { for (IIterator iterator = lineNodeIterator.First(); !lineNodeIterator.IsDone(); iterator = lineNodeIterator.Next()) { iterator.CurrentItem.Draw(g); } } if (nullIteratorP != null) { nullIteratorP.CurrentItem.Draw(g); } if (nullIteratorQ != null) { nullIteratorQ.CurrentItem.Draw(g); } if (swerveLineIterator != null) { swerveLineIterator.CurrentItem.Draw(g); } } }
static void Main(string[] args) { Collection collection = new Collection(); collection[0] = new Item("Item 0"); collection[1] = new Item("Item 1"); collection[2] = new Item("Item 2"); collection[3] = new Item("Item 3"); collection[4] = new Item("Item 4"); collection[5] = new Item("Item 5"); collection[6] = new Item("Item 6"); collection[7] = new Item("Item 7"); collection[8] = new Item("Item 8"); IIterator iterator = collection.CreateIterator(); iterator.Step = 2; Console.WriteLine("Iterating over collection:"); for (Item item = iterator.First(); !iterator.HasNext; item = iterator.Next()) { Console.WriteLine(item.Name); } Console.ReadKey(); }
private void EquipPlaces(Foi foi) { RandomGeneratorFacade randomGeneratorFacade = new RandomGeneratorFacade(); IIterator placeIterator = foi.Places.CreateIterator(IteratorType.AscendingValue); Place place = placeIterator.First(); while (place != null) { List <Device> actuators = place.Devices.FindAll(d => d.DeviceType == DeviceType.Actuator && d.IsBeingUsed && d.Malfunctional == false); List <Device> sensors = place.Devices.FindAll(d => d.DeviceType == DeviceType.Sensor && d.IsBeingUsed && d.Malfunctional == false); foreach (var actuator in actuators) { int numberOfSensorsToEquipActuator = randomGeneratorFacade.GiveRandomNumber(1, sensors.Count); List <int> usedSensorIndexes = new List <int>(); int[] availableSensorIndexes = Enumerable.Range(0, sensors.Count).ToArray(); for (int i = 0; i < numberOfSensorsToEquipActuator; i++) { int[] unusedSensorIndexes = availableSensorIndexes.Except(usedSensorIndexes).ToArray(); int randomIndex = randomGeneratorFacade.GiveRandomNumber(0, sensors.Count - 1, unusedSensorIndexes, 1); usedSensorIndexes.Add(randomIndex); actuator.AddChild(sensors[randomIndex]); sensors[randomIndex].AddParent(actuator); } } RepairOneDevice(place); ListDevices(place); place = placeIterator.Next(); } }
private static void Main(string[] args) { //SequenceAggregate list = new SequenceAggregate(); ReverseAggregate list = new ReverseAggregate(); list[0] = "张三"; list[1] = "李四"; list[2] = "王五"; list[3] = "赵六"; list[4] = "周七"; IIterator i = list.GetIterator(); object item = i.First(); Console.WriteLine("First:" + item); while (i.Current() != i.Last()) { Console.WriteLine(i.Current()); i.Next(); } Console.WriteLine("Last:" + i.Last()); Console.ReadLine(); }
public void PrintItems(IIterator <Item> iterator) { for (iterator.First(); !iterator.IsDone(); iterator.Next()) { iterator.CurrentItem().Print(); } }
static void Main(string[] args) { // Build a collection Collection collection = new Collection(); collection[0] = new Item("Item 0"); collection[1] = new Item("Item 1"); collection[2] = new Item("Item 2"); collection[3] = new Item("Item 3"); collection[4] = new Item("Item 4"); collection[5] = new Item("Item 5"); collection[6] = new Item("Item 6"); collection[7] = new Item("Item 7"); collection[8] = new Item("Item 8"); // Create iterator IIterator iterator = collection.CreateIterator(); // Skip every other item iterator.Step = 2; Console.WriteLine("Iterating over collection:"); for (Item item = iterator.First(); !iterator.IsDone; item = iterator.Next()) { Console.WriteLine(item.Name); } // Wait for user Console.Read(); }
public static void PrintUsers(IIterator iterate) { iterate.First(); while (!iterate.IsDone()) { Console.WriteLine(iterate.Next()); } }
private static void PrintReporters(IIterator i) { i.First(); while (!i.isDone()) { Console.WriteLine(i.Next()); } }
public void printMember(IIterator iterate) { iterate.First(); while (!iterate.IsDone()) { //textBox.AppendText("Friend"); } }
public override void UpdateAnimationPad() { base.UpdateAnimationPad(); Graphics g = AlgorithmManager.Algorithms.ClearAnimationPad(); if (AlgorithmManager.Algorithms.CurrentAlgorithm != null) { if (arrayIterator != null) { for (IIterator iterator = arrayIterator.First(); !arrayIterator.IsDone(); iterator = arrayIterator.Next()) { iterator.CurrentItem.Draw(g); } } } }
//the method references the Interface's methods. //but the concrete methods will be called to match with the item passed in. //ie, NY = nyt, LA = lat. static void PrintReporters(IIterator iterator) { iterator.First(); while (!iterator.IsDone()) { Console.WriteLine(iterator.Next()); } }
// Metoda vezme instanci iterátoru a postará se o výpis všech prvků // Zároveň se zde ukazuje klasické využití iterátorových funkcí v cyklu for // pro průchod všemi prvky static void printAllUsingIterator(IIterator <int> iterator) { for (iterator.First(); !iterator.IsDone(); iterator.Next()) { Console.Write(iterator.CurrentItem()); } Console.WriteLine(); }
public static void RunTest() { ArrayList b = new ArrayList() { 1, 2, 3, 4 }; IEnumerator e = b.GetEnumerator(); e.MoveNext(); Console.WriteLine(e.Current); Console.WriteLine(); ConcreteAggregate a = new ConcreteAggregate(); a[0] = "Item A"; a[1] = "Item B"; a[2] = "Item C"; a[3] = "Item D"; IIterator i = a.GetIterator(); Console.WriteLine("Iterating ConcreteAggregate... "); object item = i.First(); while (item != null) { Console.WriteLine(item); item = i.Next(); } Console.WriteLine(); ConcreteAggregate2 c = new ConcreteAggregate2(); c[0] = "Item 1"; c[1] = "Item 2"; c[2] = "Item 3"; c[3] = "Item 4"; IIterator i2 = c.GetIterator(); Console.WriteLine("Iterating ConcreteAggregate2..."); object item2 = i2.First(); while (item2 != null) { Console.WriteLine(item2); if (i2.CurrentIndex() == 1) { Console.WriteLine("Is done when index is 1? " + i2.IsDone()); } item2 = i2.Next(); } Console.WriteLine("Is done when index is 3? " + i2.IsDone()); }
public override void UpdateGraphAppearance() { if (circleNodeIterator != null) { for (IIterator iterator = circleNodeIterator.First(); !circleNodeIterator.IsDone(); iterator = circleNodeIterator.Next()) { iterator.CurrentItem.BackColor = status.结点颜色; } //处理头结点 IGlyph headNode = circleNodeIterator.First().CurrentItem; headNode.BackColor = status.头结点颜色; //处理当前结点 if (circleNodeIterator1 != null && circleNodeIterator1.CurrentItem != null) { circleNodeIterator1.CurrentItem.BackColor = status.当前结点颜色; } } }
public override void UpdateGraphAppearance() { int indexI = status.I > status.SLength ? status.I - 2 : status.I - 1; ((ArrayIterator)arrayIteratorS).SetBackColor(indexI, status.当前元素颜色, status.串S元素颜色, true); int indexJ = status.J > status.TLength ? status.J - 2 : status.J - 1; ((ArrayIterator)arrayIteratorT).SetBackColor(indexJ, status.当前元素颜色, status.串T元素颜色, true); for (IIterator iterator = arrayIteratorS.First(); !arrayIteratorS.IsDone(); iterator = arrayIteratorS.Next()) { iterator.CurrentItem.Appearance = status.图形外观; } for (IIterator iterator = arrayIteratorT.First(); !arrayIteratorT.IsDone(); iterator = arrayIteratorT.Next()) { iterator.CurrentItem.Appearance = status.图形外观; } }
/// <summary> /// /// </summary> /// <param name="iterator"></param> public static void PrintUsers(IIterator iterator) { // sets the iterator index to -1 iterator.First(); while (iterator.MoveNext()) { Console.WriteLine(iterator.CurrentItem); } }
List <T> IAggregate <T> .GetAll() { List <T> list = new List <T>(); list.Add(iterator.First()); while (!iterator.IsDone()) { list.Add(iterator.Next()); } return(list); }
Point[] GetPoints() { int x0, y0, x1, y1, x2, y2, x3, y3; x0 = iteratorInsertNode.First().CurrentItem.Bounds.X + diameter; y0 = iteratorInsertNode.First().CurrentItem.Bounds.Y + diameter / 2; x1 = x0 + 30; y1 = y0 - diameter / 5; x2 = x0 - 30; y2 = y0 - 2 * diameter / 5; x3 = x0 - 5; y3 = y0 - diameter; Point point0 = new Point(x0, y0); Point point1 = new Point(x1, y1); Point point2 = new Point(x2, y2); Point point3 = new Point(x3, y3); Point[] points = new Point[] { point0, point1, point2, point3 }; return(points); }
public override void Run(int threadCycleDuration) { IIterator sequentialIterator = Foi.Places.CreateIterator(IteratorType.Sequential); Place place = sequentialIterator.First(); while (place != null) { CheckPlace(place, threadCycleDuration); place = sequentialIterator.Next(); } }
public override void Run(int threadCycleDuration) { IIterator ascendingIterator = Foi.Places.CreateIterator(IteratorType.AscendingValue); Place place = ascendingIterator.First(); while (place != null) { CheckPlace(place, threadCycleDuration); place = ascendingIterator.Next(); } }
Image CreatePreviewImage(string s1, string s2) { int height = 80; int width = 530; int space = 2; int size = 30; int leftSpan = 15; int topSpan = 5; SquareLine squareLineLa; SquareLine squareLineLb; ArrayList squareArrayLa = new ArrayList(); ArrayList squareArrayLb = new ArrayList(); IGlyph glyph; for (int i = 0; i < s1.Length; i++) { glyph = new Square(leftSpan + i * (size + space), topSpan, size, Color.DarkCyan, GlyphAppearance.Flat, s1[i].ToString()); squareArrayLa.Add(glyph); } for (int i = 0; i < s2.Length; i++) { glyph = new Square(leftSpan + i * (size + space), topSpan + size + 2, size, Color.DarkCyan, GlyphAppearance.Flat, s2[i].ToString()); squareArrayLb.Add(glyph); } squareLineLa = new SquareLine(1, 1, 1, squareArrayLa); squareLineLb = new SquareLine(1, 1, 1, squareArrayLb); IIterator arrayIteratorLa = squareLineLa.CreateIterator(); IIterator arrayIteratorLb = squareLineLb.CreateIterator(); Bitmap bmp = new Bitmap(width, height); Graphics g = Graphics.FromImage(bmp); if (arrayIteratorLa != null) { for (IIterator iterator = arrayIteratorLa.First(); !arrayIteratorLa.IsDone(); iterator = arrayIteratorLa.Next()) { iterator.CurrentItem.Draw(g); } } if (arrayIteratorLb != null) { for (IIterator iterator = arrayIteratorLb.First(); !arrayIteratorLb.IsDone(); iterator = arrayIteratorLb.Next()) { iterator.CurrentItem.Draw(g); } } return(bmp); }
public override void Run(int threadCycleDuration) { IIterator randomIterator = Foi.Places.CreateIterator(IteratorType.Random); Place place = randomIterator.First(); while (place != null) { CheckPlace(place, threadCycleDuration); place = randomIterator.Next(); } }
public void MoveBlocksDown() { if (tower.areBlocksReadyToMoveDown()) { IIterator i = blockContainer.CreateIterator(); object block = i.First(); while (block != null) { Canvas.SetTop((Image)block, Canvas.GetTop((Image)block) + Settings.BlockHeight); block = i.Next(); } } }
public override void UpdateGraphAppearance() { for (IIterator iterator = arrayIteratorLa.First(); !arrayIteratorLa.IsDone(); iterator = arrayIteratorLa.Next()) { iterator.CurrentItem.BackColor = status.图形背景色; iterator.CurrentItem.Appearance = status.图形外观; } for (IIterator iterator = arrayIteratorLb.First(); !arrayIteratorLb.IsDone(); iterator = arrayIteratorLb.Next()) { iterator.CurrentItem.BackColor = status.图形背景色; iterator.CurrentItem.Appearance = status.图形外观; } for (IIterator iterator = arrayIteratorLc.First(); !arrayIteratorLc.IsDone(); iterator = arrayIteratorLc.Next()) { iterator.CurrentItem.BackColor = status.当前元素背景色; iterator.CurrentItem.Appearance = status.图形外观; } if (currentGlyph != null) { currentGlyph.BackColor = status.当前元素背景色; } }
static void Main(string[] args) { // Build a collection RadioCollection channels = new RadioCollection(); channels.AddChannel(new FMRadio(91.1, "Radio City")); channels.AddChannel(new FMRadio(92.7, "Big FM")); channels.AddChannel(new FMRadio(93.5, "Red FM")); channels.AddChannel(new FMRadio(94.3, "Radio One")); channels.AddChannel(new FMRadio(98.3, "Radio Mirchi")); channels.AddChannel(new FMRadio(104.0, "Fever 104")); // Create iterator IIterator iterator = channels.CreateIterator(); Console.WriteLine("============ For loop ==========================="); for (FMRadio radio = iterator.First(); !iterator.IsDone; radio = iterator.Next()) { Console.WriteLine($"FM Radio Name : {radio.Name} & Frequency : {radio.Frequency}"); } Console.WriteLine("============ While loop ==========================="); iterator = channels.CreateIterator(); // Here We can use Reset() method of Iterator FMRadio fMChannel = iterator.First(); while (!iterator.IsDone) { Console.WriteLine($"FM Radio Name : {fMChannel.Name} & Frequency : {fMChannel.Frequency}"); fMChannel = iterator.Next(); } Console.ReadKey(); }
Image CreatePreviewImage(string s) { int height = 80; int width = 530; int lineLength = 18; int diameter = 30; int leftSpan = 3; int topSpan = 20; IIterator circleNodeIterator;//用于输出结点链表的指针 IIterator lineNodeIterator;//用于输出连接线链表的指针 LinkCircleNode headNode = null; LinkLineNode headLineNode = null; LinkCircleNode previousNode = null; LinkLineNode previousLineNode = null; LinkCircleNode currentNode = null; LinkLineNode currentLineNode = null; previousNode = headNode = new LinkCircleNode(leftSpan,topSpan,diameter,Color.Red,"H"); previousLineNode = headLineNode = new LinkLineNode(leftSpan + diameter,topSpan + diameter/2,leftSpan + diameter + lineLength,topSpan + diameter/2,lineWidth,Color.Red); for(int i = 0;i < s.Length;i++) { currentNode = new LinkCircleNode(leftSpan + (i + 1) * (lineLength + diameter),topSpan,diameter,Color.DarkTurquoise,s[i].ToString()); currentLineNode = new LinkLineNode(leftSpan + diameter + (i + 1) * (lineLength + diameter),topSpan + diameter/2,leftSpan + diameter + (i + 1) * (lineLength + diameter) + lineLength,topSpan + diameter/2,lineWidth,Color.Red); previousNode.Next = currentNode; previousLineNode.Next = currentLineNode; previousNode = currentNode; previousLineNode = currentLineNode; } if(currentNode != null) { currentNode.Next = null; currentLineNode.Next = null; } circleNodeIterator = headNode.CreateIterator(); lineNodeIterator = headLineNode.CreateIterator(); Bitmap bmp = new Bitmap(width,height); Graphics g = Graphics.FromImage(bmp); if(circleNodeIterator != null) { for(IIterator iterator = circleNodeIterator.First();!circleNodeIterator.IsDone();iterator = circleNodeIterator.Next()) { iterator.CurrentItem.Draw(g); } } if(lineNodeIterator != null) { for(IIterator iterator = lineNodeIterator.First();!lineNodeIterator.IsDone();iterator = lineNodeIterator.Next()) { iterator.CurrentItem.Draw(g); } } return bmp; }
public override void ExecuteAndUpdateCurrentLine() { switch (CurrentLine) { case 0: CurrentLine = 2; return; case 2: //InitStack(S); p = T; currentIterator = new BiTreePreOrderIterator(biTreeGenerator.RootNode); currentIterator = currentIterator.First(); status.CanEdit = true; status.P = ((IBiTreeNode)currentIterator.CurrentItem).Text; break; case 3: //while(p || !StackEmpty(S)){ if(currentIterator.CurrentItem == null && ((BiTreePreOrderIterator)currentIterator).NodesStack.Count == 0) { CurrentLine = 16; return; } break; case 4: //if(p){ if(currentIterator.CurrentItem == null) { CurrentLine = 12; return; } break; case 5: //if(!Visit(p->data)){ visiting = true; CurrentLine = 8; ((ArrayIterator)visitedIterator).InsertGlyph(CreateVisitedGlyph(currentIterator.CurrentItem)); return; case 8: //Push(S,p); ((BiTreePreOrderIterator)currentIterator).PushCurrentNode(); ((StackIterator)stackIterator).PushGlyph(CreateStackItem(currentIterator.CurrentItem)); break; case 9: //p = p->lchild; ((BiTreePreOrderIterator)currentIterator).SetToLeftChild(); CurrentLine = 3; visiting = false; if(currentIterator.CurrentItem == null) { status.CanEdit = true; status.P = null; } else { status.CanEdit = true; status.P = ((IBiTreeNode)currentIterator.CurrentItem).Text; } return; case 12: //Pop(S,p); ((BiTreePreOrderIterator)currentIterator).PopupToCurrentNode(); ((StackIterator)stackIterator).Pop(); visiting = false; status.CanEdit = true; status.P = ((IBiTreeNode)currentIterator.CurrentItem).Text; break; case 13: //p = p->rchild; ((BiTreePreOrderIterator)currentIterator).SetToRightChild(); CurrentLine = 3; visiting = false; if(currentIterator.CurrentItem == null) { status.CanEdit = true; status.P = null; } else { status.CanEdit = true; status.P = ((IBiTreeNode)currentIterator.CurrentItem).Text; } return; case 16: return; } CurrentLine++; }
public override void ExecuteAndUpdateCurrentLine() { switch (CurrentLine) { case 0: CurrentLine = 3; return; case 3: //L=(LinkList)malloc(sizeof(Lnode)); L->next=NULL; //生成一个头节点 LinkCircleNode headNode = null; LinkLineNode headLineNode = null; headNode = new LinkCircleNode(40,50,diameter,status.头结点颜色,"H"); headLineNode = new LinkLineNode(40 + diameter,50 + diameter/2,40 + diameter + lineLength,50 + diameter/2,lineWidth,Color.Red); headNode.Next = null; headLineNode.Next = null; circleNodeIterator = headNode.CreateIterator(); lineNodeIterator = headLineNode.CreateIterator(); break; case 4: //for(i=n;i>0;i--){ if(status.I == 0) { CurrentLine = 9; return; } break; case 5: //p=(LinkList)malloc(sizeof(Lnode)); scanf(&p->data); if(iteratorInsertNode != null) { ((NodeListIterator)circleNodeIterator).RefreshAllNodes((LinkCircleNode)iteratorInsertNode.First().CurrentItem,40,50,diameter,lineLength,status.结点颜色); } iteratorInsertNode = new LinkCircleNode(40 + diameter - 4,50 + diameter,diameter,status.插入结点颜色,status.L[status.I - 1].ToString()).CreateIterator(); status.CanEdit = true; status.P = "p当前指向结点" + ((LinkCircleNode)iteratorInsertNode.First().CurrentItem).Text; break; case 6: //p->next=L->next; ((LinkCircleNode)iteratorInsertNode.First().CurrentItem).Next = ((LinkCircleNode)circleNodeIterator.First().CurrentItem).Next; //生成贝赛尔曲线 nullIteratorBezierLine = new BezierLine(new Rectangle(1,1,1,1),GetPoints(),lineWidth,Color.Red).CreateIterator(); break; case 7: //L->next=p; ((LinkCircleNode)circleNodeIterator.First().CurrentItem).Next = (LinkCircleNode)iteratorInsertNode.First().CurrentItem; //刷新所有的结点的位置 ((NodeListIterator)circleNodeIterator).RefreshAllNodes((LinkCircleNode)iteratorInsertNode.First().CurrentItem,40,50,diameter,lineLength,status.结点颜色); //设置当前结点的颜色 ((NodeListIterator)circleNodeIterator).SetCurrentItemNewColor(iteratorInsertNode.First().CurrentItem,status.插入结点颜色,status.结点颜色); //以下是生成一个箭头,并把它插入到箭头链表,最后刷新这个箭头链表 LinkLineNode lineNode = new LinkLineNode(1,1,1 + lineLength,1,2,Color.Red); lineNode.Next = ((LinkLineNode)lineNodeIterator.First().CurrentItem).Next; ((LinkLineNode)lineNodeIterator.First().CurrentItem).Next = lineNode; ((NodeListIterator)lineNodeIterator).RefreshAllNodes((LinkLineNode)lineNodeIterator.First().CurrentItem,40 - lineLength,50 + diameter/2,diameter,lineLength,Color.Red); //删除贝赛尔曲线 nullIteratorBezierLine = null; //i-- status.CanEdit = true; status.I--; CurrentLine = 4; return; case 9: return; } CurrentLine++; }