private void immutableRadio_CheckedChanged(object sender, EventArgs e) { if (immutableRadio.Checked) { IntList = new N6_ClassLib.SkipLibrary.ImmutableList <int>(IntList); StrList = new N6_ClassLib.SkipLibrary.ImmutableList <string>(StrList); FlowerList = new N6_ClassLib.SkipLibrary.ImmutableList <Flower>(FlowerList); } }
private void linkedRadio_CheckedChanged(object sender, EventArgs e) { if (linkedRadio.Checked) { IntList = new N6_ClassLib.SkipLibrary.LinkedList <int>(); StrList = new N6_ClassLib.SkipLibrary.LinkedList <string>(); FlowerList = new N6_ClassLib.SkipLibrary.LinkedList <Flower>(); listView.Controls.Clear(); } }
private void typeTab_SelectedIndexChanged(object sender, EventArgs e) { //immutable по умолчанию оборачивает linkedlist, потому что он занимает меньше памяти if (immutableRadio.Checked) { linkedRadio.Checked = true; IntList = new N6_ClassLib.SkipLibrary.LinkedList <int>(); StrList = new N6_ClassLib.SkipLibrary.LinkedList <string>(); FlowerList = new N6_ClassLib.SkipLibrary.LinkedList <Flower>(); } //иначе очищаем списки, чтобы не приходилось каждый элемент вручную clear'ом удалять else { IntList.Clear(); StrList.Clear(); FlowerList.Clear(); } switch (typeTab.SelectedTab.Text) { case "int": actionIntButton.Enabled = true; actionStrButton.Enabled = false; actionFlwrButton.Enabled = false; break; case "string": actionStrButton.Enabled = true; actionIntButton.Enabled = false; actionFlwrButton.Enabled = false; break; case "flower": actionFlwrButton.Enabled = true; actionIntButton.Enabled = false; actionStrButton.Enabled = false; break; } }
private void actionFlwrButton_Click(object sender, EventArgs e) { IList <Flower> flowers = N6_ClassLib.SkipLibrary.ListUtils.FindAll <Flower>(FlowerList, delegate(Flower flw) { return(flw.colour != "white"); }, delegate { if (arrayRadio.Checked) { return(new N6_ClassLib.SkipLibrary.ArrayList <Flower>()); } return(new N6_ClassLib.SkipLibrary.LinkedList <Flower>()); }); //заменяем текущий список цветов на удовлетворяющий предикату FlowerList = (N6_ClassLib.SkipLibrary.SkipList <Flower>)flowers; if (immutableRadio.Checked) { FlowerList = new N6_ClassLib.SkipLibrary.ImmutableList <Flower>(FlowerList); } FlowerList.Display(ref listView); }