Web表单添加中输入字符串的格式不正确

当我添加总输入文本框值并想要在另一个textBox SubTotal中显示所有总文本框值时,为什么会显示错误

  

输入字符串格式不正确

string[] arr = new string[4];
arr[0] = comboBox1.SelectedItem.ToString();
arr[1] = textBox1Price.Text;
arr[2] = textBox2Qty.Text;
arr[3] = textBoxTotal.Text;

ListViewItem item = new ListViewItem(arr);
listView1.Items.Add(item);

if (textBoxSubTotal.Text == "" || textBoxSubTotal.Text != "")
{
    textBoxSubTotal.Text = (Convert.ToInt16(textBoxTotal.Text) + 
                            Convert.ToInt16(textBoxSubTotal.Text)).ToString();
}

它应该在subTotal文本框中显示所有总计值

Web表单添加中输入字符串的格式不正确

ali_324 回答:Web表单添加中输入字符串的格式不正确

怎么样?

int GetSum(IEnumerable<string> data) 
    => data.Select( txt => { int.TryParse(txt,out var m); return m;}).Sum();

示例

Console.WriteLine(GetSum(new [] { "100","200","xxx" })); //300

Console.WriteLine(GetSum(new [] { "100","300" })); //600

targetComboBox.Text = GetSum( new []{combo1.Text,combo2.Text,...})?.ToString();

是否为null是否为空?

int? GetSum(IEnumerable<string> data) 
    => data.Select( txt => int.TryParse(txt,out var m) is var b && b ? m : (int?)null) is var parsed 
    && parsed.Any(i => i == null) 
        ? null 
        : parsed.Sum();

Console.WriteLine(GetSum(new [] { "100","xxx" })); //null

Console.WriteLine(GetSum(new [] { "100","300" })); //600
本文链接:https://www.f2er.com/3133854.html

大家都在问