我正在学习编码并开始学习,我正在创建小型项目。我想获取richTextBox中所有行的总和。 richTextBox中的所有行都是数字。
例如:-1-2-3-4-5-6-7-8-9-10
结果必须为:1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 = 55。我想在消息框中显示结果:“总和为55”。
尝试一下:
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);
为此,必须将控件contents
的RichTextBox
分成几行,对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!