visualstudio-richTextBox c#中所有行的总和

本文关键字:visualstudio-richTextBox | 更新日期: 2023-09-27 18:01:02

我正在学习编码,为了开始,我正在创建小项目。我想得到richTextBox中所有行的总和。richTextBox中的所有行都是数字。

例如:-1-2-3-4-5-6-7-8-9-10

结果必须是:1+2+3+4+6+7+8+9+10=55。我想在一个消息框中显示结果:"总和是55"。

visualstudio-richTextBox c#中所有行的总和

试试这个:

MessageBox.Show(string.Format("Sum of your numbers is {0}",
    richTextBox1.Text.Split(''n').Select(number => Convert.ToInt32(number)).Sum()));

在换行符上拆分文本,将字符串数组中的所有内容转换为数字,得到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);

要做到这一点,需要将控件RichTextBoxcontents按行划分,对类型为int的每一行执行转换,然后执行所有数字的和。下面是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中显示结果,使用以下语句:

MessageBox.Show(String.Format("The sum result is: {0}.",Sum()));

详细信息:我假设您使用的是Windows窗体应用程序!