2015-03-03 89 views
2

我有一个文本框,用户可以在其键盘上输入计算,例如100+200如何将一个字符串切成3个部分?

我怎样才能打破字符串转换成三个部分,例如:

string mySum = "200+800"; //Just and example of what he may enter into the textbox 
int Operator = mySum.IndexOf('+'); 
string TheOperator = "+"; 
string part1 = (mySum.Substring(1, Operator - 1)); 
mySum.Remove(int.Parse(part1), Operator); 
string part2 = (mySum); 

//Calculate 

int Answer = int.Parse(part1) + TheOperator + int.Parse(part2); 
Messagebox.Show(Asnwer.toString()); //Message box should display 1000 

首先,我知道这是错的,但我非常不确定如何做到这一点。香港专业教育学院到处找,但我无法找到直接相关的

+0

你想要做一些计算用绳子? – User2012384 2015-03-03 06:40:46

+0

使用分割方法。 var numbers = mySum.Split('+'); – 2015-03-03 06:41:11

+0

@Mr。香港人我知道这听起来很荒谬...... xD – Aidan 2015-03-03 06:42:49

回答

2

你应该使用string.Split如下:

// ... 

var parts = mySum.Split('+'); 
var part1 = parts[0]; // 200 
var operatorString = parts[1]; // + 
var part2 = parts[2]; // 800 

// ... 
+0

这实际上会产生以下 - part1 =“2”,operatorString =“0”part2 =“0 ”。我可以看到你可能打算使用零件[0],零件[1]和零件[2],但分割字符也不包括在输出中,所以零件只有2个元素,而不是3个。 – 2015-03-03 06:49:07

+1

@PaulMcLean编辑根据您的异议 – 2015-03-03 06:49:55

+1

简单而快速的答复,谢谢:) – Aidan 2015-03-03 08:34:24

2

这样简单,利用的Split函数

分裂由炭

string[] words = s.Split('+', StringSplitOptions.RemoveEmptyEntries); 

分割的字符数组,当有多个字符

char[] delimiters = new char[] { '+', '*' }; 
    string[] parts = value.Split(delimiters, 
        StringSplitOptions.RemoveEmptyEntries); 

,你还可以使用正则表达式这样

string value = "cat\r\ndog\r\nanimal\r\nperson"; 
    // Split the string on line breaks. 
    // ... The return value from Split is a string array 
    string[] lines = Regex.Split(value, "\r\n"); 
1

拆分将在这里工作。

using System; 

public class Program 
{ 
    public static void Main() 
    { 
     string mySum = "200+800"; 
     int totalSum = 0; 
     foreach(var op in mySum.Split('+')) 
     { 
      totalSum += Convert.ToInt16(op); 
     } 
     Console.WriteLine(totalSum); 
    } 
} 

here是小提琴。

1

如果只想计算,你可以这样做:

var result = new System.Data.DataTable().Compute("200+800", null); 
Console.WriteLine(result); 

希望帮助

相关问题