求高人替我解释一下c#代码段~~

来源:百度知道 编辑:UC知道 时间:2024/06/06 09:46:22
以下是用c#来编写计算器的其中某一段代码:
private void button12_Click(object sender, EventArgs e)
{

Single r; //用于保存计算结果

string t = textBox1.Text; //t用于保存文本框中的算术表达式

int space = t.IndexOf(' '); //搜索空格位置

string s1 = t.Substring(0, space); //s1用于保存第一个运算数

char op = Convert.ToChar(t.Substring(space + 1, 1)); //op用于保存运算符

string s2 = t.Substring(space + 3); // s2用于保存第二个运算数

Single arg1 = Convert.ToSingle(s1); //将运算数从string转换为Single

Single arg2 = Convert.ToSingle(s2);

请问其中代码段: string s1 = t.Substring(0, space); //s1用于保存第一个运算数

char op = Convert.ToChar(t.Substring(space + 1, 1)); //op用于保存运算符

string s2 = t.Substring(space + 3); // s2用于保存第二个运算数

Single arg1 = Convert.ToSingle(s1); //将运算数从string转换为Single

Single a

s1保存了textBox1中从第一个字符到空格之间的字符,s2保存了从空格后的一个字符,s3保存了后三位字符:
例如在textBox1中有如下字符:
123 + 456
那么在s1中保存的是123
s2中保存的是+
s3中保存的是456
text.Substring(a,b)的作用是从第a个字符起,至第b个,截取text的字符
如String str = "hello";
str.Substring(1,1)的结果是"e",注意从第0个数起。
另外,“string s2 = t.Substring(space + 3)”中的Substring由于只有一个参数,它的作用是从空格开始的位置后第三位,至字符串结束截取s2的字符。例如:String s2 = "hello world",那么string s2 = t.Substring(space + 3)的结果是"ld".

Substring是用来截取字符串的这些MSDN里有详细的写明的。。
Convert.ToSingle(s2) 这是把s2强制转换成单精度浮点型。。MSDN里也有写

string s2 = t.Substring(space + 3)
是指在S2中截取字符,位置为从第 space + 3 个开始一直到结束。
Single arg2 = Convert.ToSingle(s2)
是指将s2转换成Single类型,并赋值给arg2