2

私はプログラミングの世界の初心者で、C# クラスを受講していますが、基本に苦労しています。基本が1つずつ定義されていると、それらをうまく理解できるようになっています。
しかし、ステートメントを見ると、それらがどのように連携しているかを理解するのに本当に苦労しています。//"Murach's C# 2012"参照用に使用しています。

たとえば、以下のコードを見ると、型、メソッド、変数、引数、およびパラメーターの定義に問題があります。私は誰かが彼らを助ける/助けるいくつかのヒントやコツを持っていることを望んでいました.

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

文字列はメソッドまたはオブジェクトですか? 小計は"txtSubtotal.Text"、テキスト ボックスの値を変換する変数です。

おそらく答えは、より多くの時間を費やし、より多くのプロジェクトに取り組むことですが、質問することは害にはなりません。
また、これはオンラインクラスであり、教授は例や詳細な説明を提供する限り、回答が非常に不足していることを付け加えたい. 私は彼にそう言った、そして私はほとんど「ごめんなさい」の返事を受け取った. ありがとう!ショーン

4

7 に答える 7

2

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

この代入式はコンパイルされません。分解してみましょう。

  • string subtotalここで変数を宣言しています。名前のsubtotal、タイプのstring.

  • =この場合、代入は宣言と結合されます: 1 つの命令で、変数を宣言して代入します - その最後に ( ;)subtotal変数は、代入演算子の右側にあるものの値を取ります ( =)。

  • Convert.ToDecimal()メソッド呼び出しです。実際、static方法です。その型のインスタンスを持たずに、その型でこのメソッドを呼び出しているため、わかりConvertます (つまり、 を実行する必要はありませんでしたnew Convert())。このメソッドは、(そのオーバーロードの 1 つによって許可されている) 何らかの型の値を取り、それを値に変換しdecimalます。代入の左オペランドは aであり、ここではa にstring変換していないため、代入はコンパイルに失敗しますdecimalstring。最後に追加して、バックを a.ToString()に変換すると、割り当てが機能します。decimalstring

    ToString()と の間で暗黙的な変換が定義されていないため、動作させるには が必要です。decimalstring

  • txtSubtotalおそらくクラスのインスタンスですTextBoxその場合、このオブジェクトは から派生し Control、 でレンダリングできますForm

  • .Textはオブジェクトのプロパティで、表示される値を表します。TextBoxstring

于 2013-09-19T04:06:38.503 に答える
1

stringタイプで、テキストボックスのテキストをDecimalタイプに変換して文字列タイプに設定しようとしています

入力テキストから作成された小数オブジェクトが必要な場合は、タイプを小数に変更します。以下のように

decimal subtotal = Convert.ToDecimal(txtSubtotal.Text);
于 2013-09-19T03:54:35.967 に答える
1
  • stringタイプです。
  • subtotal変数です。
  • Convert.ToDecimal()方法です。
  • txtSubtotalテキストボックスコントロールです。
  • .Text型のテキスト ボックス コントロールのプロパティですstring

Convert.ToDecimal()の結果はですdecimalが、変数は として型付けされているため、例は紛らわしいstringです。変数の型が間違っているか、string型 ( .Text) から への不必要な変換を行っていdecimalます。

于 2013-09-19T03:57:08.043 に答える
0

string は、小計変数のタイプです

変換はクラスです

txtSubtotal は TextBox コントロールの名前で、Text はそれに含まれるテキストです (文字列型)。

ToDecimal は、txtSubtotal.Text を 10 進数型に変換できる Convert クラスのメソッドです。

残念ながら、C# では小計の型が decimal 型であると想定されるため、このコードはコンパイルされません。

于 2013-09-19T04:02:04.903 に答える
0

大変お手数をおかけして申し訳ありません。ソフトウェア開発はやりがいのある仕事ですが、イライラするし難しいことでもあります。万人向けではありません。うまくいくかもしれませんし、うまくいかないかもしれません。人生とソフトウェアの成功の大部分は、すぐに失敗するという考えです。自分にふさわしくないことに気付いた場合は、時間を無駄にする前にすぐに立ち去ることで、自分自身に最善のサービスを提供します。それがあなたにとって正しいと言っているのではありません-それを決めることができるのはあなただけです。あなたがそれに固執し、あなたが抱えている困難を乗り越えるなら、私はあなたの幸運を祈っています.

試用版のpluralsightアカウントを取得し、利用可能な時間内にできる限り多くの初心者向けコンテンツを視聴することをお勧めします. これは、.net と c#、およびソフトウェアを学習するための最良のリソースだと思います。

それがあなたの質問の真髄に対する私の答えです。

コードのサンプル行まで-コンパイルされません。decimal 型を返す式の結果を string 型の変数に代入しています。C# はそれを許可しません。

string subTotal は、string 型の変数の宣言です。= Convert.(...) は、(静的) 関数の戻り値を変数に代入したものです。

于 2013-09-19T04:03:20.533 に答える
0

代入演算子の LHS (左側) にメソッドを配置することはできません。それを考慮すると、文字列はメソッドではないことを確認できます。

他のことと同様に、メソッドの呼び出しで指定する変数はパラメーターと呼ばれ、メソッドの定義で指定される変数は引数と呼ばれます。

于 2013-09-19T03:57:13.507 に答える
0

Microsoft のネットワークは、基本を探すのに適した場所です。

この視点で物事を見始めることをお勧めします。インプットとは何か?アウトプットとは何か?

あなたが投稿した例では、入力(パラメータ)として文字列を必要とするクラスConvert.ToDecimal()のメソッドです。は、英数字、特殊文字 (エスケープ文字を除く) などを保持できるです。txtSubtotal テキストは、subtotal という変数に割り当てられる に変換されます。ConvertStringDataTypeTextBoxDecimal DataTypeString

とりわけ、これには多くの忍耐が必要です。

于 2013-09-19T04:03:34.773 に答える