Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/269.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# checkedlistbox与其他数字的相加_C#_Listbox_Sum_Checkedlistbox - Fatal编程技术网

C# checkedlistbox与其他数字的相加

C# checkedlistbox与其他数字的相加,c#,listbox,sum,checkedlistbox,C#,Listbox,Sum,Checkedlistbox,这是我的第一篇文章。 我试图在VisualC中的checkedlistbox中进行多个求和。有108个数字,每行一个,我试图将选中的项目与其余的每个项目求和,并将其打印在文本框中 我已经这样做了,但我认为这是不正确的。 这实际上是求和,但也与数字本身和整个事情108倍 我想在复选框中添加选中的号码和其余号码 private void button2_Click(object sender, EventArgs e) { foreach(string checkednumber in che

这是我的第一篇文章。 我试图在VisualC中的checkedlistbox中进行多个求和。有108个数字,每行一个,我试图将选中的项目与其余的每个项目求和,并将其打印在文本框中

我已经这样做了,但我认为这是不正确的。 这实际上是求和,但也与数字本身和整个事情108倍

我想在复选框中添加选中的号码和其余号码

private void button2_Click(object sender, EventArgs e)
{
   foreach(string checkednumber in checkedlistbox1.CheckedItems)
   {
      double x = Convert.ToDouble(checkednumber);

      double a = 0;
      for (double y = 0; y < checkedlistbox1.Items.Count; ++y)
      {
         foreach (string othernumbers in checkedlistbox1.Items)
         {
            double z = Convert.ToDouble(othernumbers);
            sum = x + z;
            string str = Convert.ToString(sum);
            listbox1.Items.Add(str);
         }
      }
   }  
}

谢谢您的帮助。

您只想对选中项目的数字求和吗

double sum = 0;

foreach(object checkedItem in checkedlistbox1.CheckedItems)
{
    try 
    {
        sum += Convert.ToDouble(checkedItem.ToString()); 
    }
    catch (FormatException e) {} //catch exception where checkedItem is not a number

    listbox1.Items.Add(sum.ToString());
} 

您的问题非常不清楚,我不确定这是否是您想要的。

您也可以使用linq来实现它

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            var result = from num in this.checkedListBox1.CheckedItems.OfType<string>()
                         select Convert.ToInt32(num);
            this.textBox1.Text = result.Sum().ToString();
        }
    }
}

所以你认为这是不正确的。为什么?你看到的是什么行为?我毫不怀疑这是不正确的,但是,由于某种原因,你有一个双嵌套循环,重复循环相同的项目,因此x、a和z的一些非常奇怪的东西,你需要为变量选择更好的名称。OP?我的答案上有什么输入吗?OP似乎也不明白为什么他有这么多的结果被输出——可能值得包括将结果添加到listbox1以帮助解决这个问题that@VisualMelon是的,可能是因为他把它放在了3个圈里。我要补充一点。