public void removeRecur(int pos) { if (pos == s.Length) { if (stack.Count == 0) { int newStringLength = marked.Sum(i => i ? 1 : 0); if (newStringLength >= maxLengthString) { string cad = buildString(); if (newStringLength > maxLengthString) { maxLengthString = newStringLength; Retval.Clear(); } Retval.Add(cad); } } return; } if (s[pos] != '(' && s[pos] != ')') { marked[pos] = true; removeRecur(pos + 1); marked[pos] = false; return; } //take parentheses if (s[pos] == '(') { stack.Push(pos); marked[pos] = true; removeRecur(pos + 1); marked[pos] = false; stack.Pop(); } else if (stack.Count != 0) { stack.Pop(); marked[pos] = true; removeRecur(pos + 1); marked[pos] = false; stack.Push('('); } //skip parentheses removeRecur(pos + 1); }
private async void DeleteProperty(object obj) { var name = "this property"; if (Address?.Street1 != null && Address?.Street1.Length > 0) { name = Address?.Street1; } bool confirm = await DisplayAlert("Question", "Are you sure you want to delete " + name + "?", "Yes", "No"); if (!confirm) { return; } Retval.SetResult(null); await PopAsync(); }
protected override async void OKPressed(object obj) { Address address = AddressViewModel.ValidateAndGetAddress(); if (address == null) { return; } if (!Validate()) { return; } Property p = ReverseMap(); p.Address = address; Retval.SetResult(p); await PopAsync(); }