有没有办法在richTextBox中对所有行进行求和? richTextBox中的所有行都是数字。我想要做的是,如果richTextBox有10行随机数,那么必须相互添加10行。例如:
那么必然会发生的是:1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 然后在这种情况下,答案会显示在消息框中:55
问候 Michielvk
答案 0 :(得分:1)
试试这个:
MessageBox.Show(string.Format("Sum of your numbers is {0}",
richTextBox1.Text.Split('\n').Select(number => Convert.ToInt32(number)).Sum()));
在新行字符上拆分文字,将字符串数组中的所有内容转换为数字,得到总和并在MessageBox
中显示。
逐步解决方案:
string[] stringArray = richTextBox1.Text.Split('\n');
int sum = 0;
foreach (string element in stringArray)
{
sum += Convert.ToInt32(element);
}
MessageBox.Show("Sum of your numbers is " + sum);
答案 1 :(得分:0)
要做到这一点,有必要将控件contents
的{{1}}分成行,为每行int类型执行转换,然后执行所有数字的总和。下面是RichTextBox
方法的实现,负责添加并返回结果:
Sum
结束以 private int Sum()
{
//myrichtextbox is your rich control
string myText = myrichtextbox.Text;
var separators = new string[] { "\n" };
var myNumbers = myText.Split(separators, StringSplitOptions.RemoveEmptyEntries);
int sum = 0;
foreach (var num in myNumbers)
{
int convertedNumber;
if (Int32.TryParse(num, out convertedNumber))
sum += convertedNumber;
}
return sum;
}
显示结果使用以下语句:
MessageBox
详细信息:我假设您正在使用Windows窗体应用程序!