richTextBox c#中所有行的总和

问题描述 投票:-1回答:2

我正在学习编码并开始学习,我正在创建小型项目。我想获取richTextBox中所有行的总和。 richTextBox中的所有行都是数字。

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

结果必须为:1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 = 55。我想在消息框中显示结果:“总和为55”。

c# visual-studio richtextbox
2个回答
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);

0
投票

为此,必须将控件contentsRichTextBox分成几行,对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 Forms Application!

© www.soinside.com 2019 - 2024. All rights reserved.