C# 基础知识的挣扎

标签 c# methods syntax

我是编程世界的初学者,正在学习 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 between decimal and string.

  • txtSubtotal 是一个对象,可能是 TextBox 类的实例。如果是这种情况,则该对象派生自Control,并且能够在Form上呈现。

  • .TextTextBox 对象的一个​​属性,一个表示其显示值的字符串 .

关于C# 基础知识的挣扎,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18885877/

相关文章:

c# - 在 C# 中,myInt++ 和++myInt 有什么区别?

c - 在C中如何将函数作为参数传递?

c# - 实现用于捕获打印文本的 OPOS 打印机服务对象

c# - 获取应用程序路径

java - 在另一种方法中更改 boolean 值?

python - OperationalError:接近 "%":Python 中的 sqlite3 语法错误

c# - 解决方案资源管理器上缺少 Visual Studio 2022 查看代码按钮

c# - 使用 .NET + Linq 创建项目列表时是否可以使用匿名方法?

java - 如何在java方法中将数组作为参数传递?

java - 方法链接导致未经检查的调用警告