我是编程领域的初学者,参加C#课程,我正在努力学习基础知识。
我发现,当逐个定义基础时,我(感觉)理解它们就好了
然而,当我看到一个声明时,我真的很难理解它们如何协同工作。
//我们使用"Murach's C# 2012"
作为参考。
例如,当我看到下面的代码时,我无法定义类型,方法,变量,参数和参数。 我希望有人可能会有一些帮助/帮助他们的提示或技巧。
string subtotal = Convert.ToDecimal(txtSubtotal.Text);
string是方法还是对象? subtotal是一个转换文本框中"txtSubtotal.Text"
值的变量。
也许答案是花更多的时间和更多的项目工作,但问问题不会有害 还想补充一点,这是一个在线课程,教授非常缺乏答案,只要举例或进一步解释。我告诉过他,我几乎收到了“抱歉”的回复。 谢谢! 肖恩
答案 0 :(得分:2)
string subtotal = Convert.ToDecimal(txtSubtotal.Text);
此赋值表达式无法编译。让我们分解吧。
string subtotal
我们在此声明变量。名称为subtotal
,类型为string
。
=
在这种情况下赋值与声明结合:在单个指令中我们将声明变量和赋值它 - 在它的末尾(;
)subtotal
变量将取赋值运算符(=
)右侧的值。
Convert.ToDecimal()
是方法调用。事实上,static
方法。您可以告诉,因为您在Convert
类型上调用此方法,而没有该类型的实例(即您不需要执行new Convert()
)。该方法采用某种类型的值(由其中一个重载允许),并将其转换为decimal
值。 由于作业的左操作数为string
而我们未在此处将decimal
转换为string
,因此作业无法编译。我们最后可以添加.ToString()
,将decimal
转换回string
,然后分配就可以了。
需要
ToString()
才能使其正常工作,因为decimal
和string
之间没有定义隐式转化。
txtSubtotal
是对象,可能是TextBox
类的实例。如果是这种情况,则此对象派生自 Control
,并且能够在Form
上呈现。
.Text
是TextBox
对象的属性,string
代表其显示值。
答案 1 :(得分:1)
string
是类型,您尝试将文本框文本转换为Decimal
类型并将其设置为字符串类型
如果需要从输入文本创建的十进制对象,则将类型更改为十进制。如下所示
decimal subtotal = Convert.ToDecimal(txtSubtotal.Text);
答案 2 :(得分:1)
string
是类型。subtotal
是变量。Convert.ToDecimal()
是一种方法。txtSubtotal
是一个文本框控件。.Text
是文本框控件的属性,类型为string
。您的示例令人困惑,因为Convert.ToDecimal()
的结果是decimal
,但您的变量的输入为string
。您的变量类型错误,或者您不必要地从string
类型(.Text
)转换为decimal
。
答案 3 :(得分:0)
您不能在赋值运算符的LHS(左侧)上使用方法。考虑到这一点,您可以确定字符串不是方法
至于其他方面,在方法调用中指定的变量称为参数,方法定义中指定的变量称为参数。
答案 4 :(得分:0)
string是小计变量的类型
转换是一个类
txtSubtotal是TextBox控件的名称,Text是其中包含的文本(字符串类型)
ToDecimal是Convert类的一种方法,允许您将txtSubtotal.Text转换为十进制类型
不幸的是,这段代码无法编译,因为C#会期望小计的类型为十进制类型
答案 5 :(得分:0)
我建议您获取一个pluralsight个试用版帐户,并在那里观看尽可能多的初学者内容,因为您可以挤进您的可用时间。我认为这是学习.net和c#以及软件的最佳资源。
这是我对你问题的真正答案的答案。
至于您的代码行代码 - 无法编译。您正在对表达式的结果进行赋值,该表达式将类型decimal返回到string类型的变量。 C#不允许这样做。
string subTotal是string类型变量的声明。 = Convert。(...)是(静态)函数返回值到所述变量的赋值。
答案 6 :(得分:0)
Microsoft's network是一个开始寻找基础知识的好地方。
我建议你从这个角度开始研究:输入是什么?输出是什么?
在您发布的示例中,Convert.ToDecimal()
是Convert
类的一种方法,它需要一个字符串作为输入(参数)。 String
是DataType
,可以包含字母数字,特殊字符(转义字符除外)等。TextBox
txtSubtotal文本转换为Decimal
DataType
被分配给名为subtotal的String
变量。
最重要的是,这有很多耐心。