void bw_DoWork(object sender, DoWorkEventArgs args) { if (string.IsNullOrEmpty(txtThread1.Text)) { return; } var array = txtThread1.Text.Split(','); if (!array.Any()) { return; } foreach (var item in array) { int value; if (!int.TryParse(item, out value)) { continue; } _wrapper.Push(value); _resultList.Add(_wrapper.Pop().ToString()); } args.Result = _resultList; }