private void vectorDecodeButton_Click(object sender, EventArgs e) { if (!Regex.IsMatch(mVectorTextBox.Text, "^[0-9]{1,}$")) { mLengthVectorLabel.Text = $"m should be a numeric value"; return; } _mVector = int.Parse(mVectorTextBox.Text); mLengthVectorLabel.Text = $"Expected vector length is {Vector.GetExpectedVectorLength(_mVector)}"; this.Refresh(); if (_encodedVector.Bits.Length != vectorFromChannelText.Text.Length) { vectorFromChannelError.Text = $"Length of vector to decode should be {_encodedVector.Bits.Length}." + $" Actual length is {vectorFromChannelText.Text.Length}"; return; } if (!Regex.IsMatch(vectorFromChannelText.Text, "^[0-1]{1,}$")) { vectorFromChannelError.Text = $"Vector from channel should contain 0s and 1s"; return; } vectorFromChannelError.Text = ""; _vectorFromChannel = new Vector(vectorFromChannelText.Text.Select(c => int.Parse(c.ToString())).ToArray(), _mVector); var decodedVector = _vectorHelpers.DecodeVector(_vectorFromChannel); decodedVectorLabel.Visible = true; decodedVectorText.Visible = true; decodedVectorText.Text = decodedVector.ToString(); }