static void Main(string[] args) { BinarySerializer a = new BinarySerializer(Encoding.UTF32); byte[] testContents = new byte[0]; SerializableList <double> testList = new SerializableList <double>(a, testContents, sizeof(double)); testList.Add(1); testList.Add(2); testList.Add(3); testList.Add(4); testList.Add(5); testList.Add(6); testList.Add(7); var t = testList.IndexOf(5); testList.Insert(t, 15); testList.RemoveAt(2); t = testList.IndexOf(5); testList.Remove(7); for (int i0 = 0; i0 < testList.Count; i0++) { Console.WriteLine(testList[i0]); } Console.ReadKey(); }
private async Task RemoveMenuAsync(string menuText) { string[] menuStrings = menuText.Split(new char[] { '>' }); SerializableList <ModuleAction> menu = _SiteMenu; for (int si = 0, maxSi = menuStrings.Count(); si < maxSi; ++si) { string menuString = menuStrings[si].Trim(); object obj = await EvaluateVariableAsync(menuString); if (obj is ModuleAction) { ModuleAction action = (ModuleAction)obj; menuString = action.MenuText.ToString(); } else { menuString = (string)obj; } bool found = false; for (int mi = 0; mi < menu.Count(); ++mi) { ModuleAction action = menu[mi]; if (action.MenuText.ToString() == menuString) { if (si >= maxSi - 1) { // last string entry, remove menu entry if (action.SubMenu == null || action.SubMenu.Count() == 0) { menu.RemoveAt(mi); return; } } else { if (action.SubMenu != null && action.SubMenu.Count() > 0) { menu = action.SubMenu; found = true; break; } } } } if (!found) { return; } } }