C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

■87903 / 1階層)  カウンター
□投稿者/ 魔界の仮面弁士 (1737回)-(2018/07/12(Thu) 09:12:27)
2018/07/12(Thu) 09:18:24 編集(投稿者)

No87901 (ぷち さん) に返信
> カウンターはVB場合は→ Label1.Text = Label1.Text + 1
> でできますがC#の場合はどやるのか忘れてしまいました。

「String + 数値」の演算結果は、C# では String、VB では Double です。
「数値 + 数値」なら、C# でも VB でも 数値で結果が得られます。


> C#の場合はどやったのか教えてください。

数値加算と、文字列としての代入を分けて考えましょう。
たとえば
 private int puchiCounter = 0;
のようなフィールド変数を用意しておき、ラベルには
 puchiCounter++;
 label1.Text = puchiCounter.ToString();
のようにします。


Visual Basic であれば、
 Private puchiCounter As Integer = 0
にしておいて、
 puchiCounter += 1
 Label1.Text = puchiCounter.ToString();
ですね。


なお、カウンター変数を用意せずに、
 Label1.Text = CStr(1 + CInt(Label1.Text)) 'Visual Basic
 label1.Text = (1 + int.Parse(label1.Text)).ToString() // C#
といったこともできますが、個人的にはあまりお奨めしません。

Label はあくまで「文字列を表示するため」に使うものであって、
数値を保存しておくための場所ではないからです。

表示したい情報が文字列ではなく、「数値」や「日付」などであれば、
それらは別の変数で管理しておき、その変数を文字列変換したものを
Label に表示する形にした方が良いと思います。
編集キー/

前の記事(元になった記事) 次の記事(この記事の返信)
←カウンター /ぷち 返信無し
 
上記関連ツリー

カウンター / ぷち (18/07/12(Thu) 08:29) #87901
カウンター / 魔界の仮面弁士 (18/07/12(Thu) 09:12) #87903 ←Now
Re[1]: カウンター / kiku (18/07/12(Thu) 09:09) #87902
  └ Re[2]: カウンター / とっちゃん (18/07/12(Thu) 10:54) #87906
    └ Re[3]: カウンター / ぷち (18/07/13(Fri) 07:43) #87916
      └ Re[4]: カウンター / 魔界の仮面弁士 (18/07/13(Fri) 09:38) #87917

上記ツリーを一括表示 / 上記ツリーをトピック表示
 
上記の記事へ返信