richTextBox使c#中所有行的总和

时间:2015-07-05 13:46:25

标签: c# visual-studio richtextbox

有没有办法在richTextBox中对所有行进行求和? richTextBox中的所有行都是数字。我想要做的是,如果richTextBox有10行随机数,那么必须相互添加10行。例如:

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

那么必然会发生的是:1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 然后在这种情况下,答案会显示在消息框中:55

问候 Michielvk

2 个答案:

答案 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窗体应用程序!