C#在基础知识上挣扎

时间:2013-09-19 03:48:33

标签: c# methods syntax

我是编程领域的初学者,参加C#课程,我正在努力学习基础知识。 我发现,当逐个定义基础时,我(感觉)理解它们就好了 然而,当我看到一个声明时,我真的很难理解它们如何协同工作。 //我们使用"Murach's C# 2012"作为参考。

例如,当我看到下面的代码时,我无法定义类型,方法,变量,参数和参数。 我希望有人可能会有一些帮助/帮助他们的提示或技巧。

string subtotal = Convert.ToDecimal(txtSubtotal.Text);

string是方法还是对象? subtotal是一个转换文本框中"txtSubtotal.Text"值的变量。

也许答案是花更多的时间和更多的项目工作,但问问题不会有害 还想补充一点,这是一个在线课程,教授非常缺乏答案,只要举例或进一步解释。我告诉过他,我几乎收到了“抱歉”的回复。 谢谢! 肖恩

7 个答案:

答案 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()才能使其正常工作,因为decimalstring之间没有定义隐式转化

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

  • .TextTextBox对象的属性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类的一种方法,它需要一个字符串作为输入(参数)。 StringDataType,可以包含字母数字,特殊字符(转义字符除外)等。TextBox txtSubtotal文本转换为Decimal DataType被分配给名为subtotal的String变量。

最重要的是,这有很多耐心。