C# checkedlistbox与其他数字的相加
这是我的第一篇文章。 我试图在VisualC中的checkedlistbox中进行多个求和。有108个数字,每行一个,我试图将选中的项目与其余的每个项目求和,并将其打印在文本框中 我已经这样做了,但我认为这是不正确的。 这实际上是求和,但也与数字本身和整个事情108倍 我想在复选框中添加选中的号码和其余号码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
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个圈里。我要补充一点。