我是编程世界的初学者,正在学习 C# 类(class),但我在基础知识上遇到了困难。
我发现当基础知识被一一定义时,我(感觉)很好地理解它们。
然而,当我看到一个声明时,我真的很难理解它们是如何协同工作的。
//我们使用“Murach's C# 2012”
供您引用。
例如,当我看到下面的代码时,我无法定义类型、方法、变量、参数和参数。 我希望有人能提供一些可以帮助/帮助他们的提示或技巧。
string subtotal = Convert.ToDecimal(txtSubtotal.Text);
字符串是方法还是对象? subtotal 是一个变量,用于转换文本框中的 "txtSubtotal.Text"
值。
也许答案就是花更多的时间并致力于更多的项目,但问一问总没有坏处。
还想补充一点,这是一个在线类(class),教授非常缺乏给出示例或进一步解释的答案。我已经告诉他了,我几乎收到了“对不起”的回应。
谢谢!
肖恩
最佳答案
字符串小计 = Convert.ToDecimal(txtSubtotal.Text);
此赋值表达式无法编译。让我们来分解一下。
字符串小计
我们在这里声明一个变量。名称的小计
,类型的字符串
。=
在这种情况下赋值与声明结合:在一条指令中,我们将声明一个变量和 对其进行赋值 - 在其末尾 (;
),subtotal
变量将采用赋值运算符右侧的值 (=
)。Convert.ToDecimal()
是一个方法调用。事实上,这是一个静态
方法。您可以这么说,因为您在Convert
类型上调用此方法,而没有该类型的实例(即您不需要执行new Convert()
) 。该方法采用某种类型的值(由其重载之一允许),并将其转换为十进制值。 因为赋值的左操作数是一个字符串
,并且我们在这里没有将十进制
转换为字符串
,所以赋值将编译失败。我们可以在末尾添加.ToString()
,将decimal
转换回string
并且赋值将起作用。ToString()
is needed to make it work, because there is no implicit conversion defined betweendecimal
andstring
.txtSubtotal
是一个对象,可能是TextBox
类的实例。如果是这种情况,则该对象派生自Control
,并且能够在Form
上呈现。.Text
是TextBox
对象的一个属性,一个表示其显示值的字符串
.
关于C# 基础知识的挣扎,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18885877/