文字列抽出 への返答

投稿で使用できる特殊コードの説明。(別タブで開きます。)
本名は入力しないようにしましょう。
投稿した後で削除するときに使うパスワードです。返答があった後は削除できません。
返答する人が目安にします。相手が小学生か社会人かで返答の仕方も変わります。
最初の投稿が質問の場合、質問者が解決時にチェックしてください。(以降も追加書き込み・返信は可能です。)
※「過去ログ」について書くときはその過去ログのURLも書いてください。

以下の返答は逆順(新しい順)に並んでいます。

投稿者 魔界の仮面弁士  (社会人) 投稿日時 2016/12/27 21:40:47
題名は「文字列抽出」でしたが、
質問は「文字列連結」なのでしょうか。

文字列連結なら、「+ 演算子」ではなく「& 演算子」を使った方が良いですよ。



> ですから、Dim x As String ですね。

えぇと、なんだか私の名前が呼ばれたような気がしますが、
何のことか分からないです…。(^^;

http://rucio.cloudapp.net/CommentDetail.aspx?ThreadId=10667&CommentId=22542
でるきおさんが書かれているような、
小文字始まり(camel形式)や大文字始まり(Pascal形式)の命名規約について
触れたことはあろうかと思いますが、メソッド内の Dim 変数 について、
Private/Public で変化するという話は思い当たらないです。
投稿者 ねぼすけ  (社会人) 投稿日時 2016/12/27 19:16:17
私の場合、何も問題ありませんでした。思惑通りにできました。
もしや、
Public Class Form1
    Dim X As String = TextBox1.Text
    Dim Y As String = TextBox2.Text
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        X = TextBox1.Text
        Y = TextBox2.Text
        TextBox3.Text = X + Y
    End Sub
End Class

ですか。これは、エラーしますよね。わたしも、あまり考えたことはなかったですけど、うっかりしていました。何かイベントを起こさなければコントロールにはその旨伝わりませんよね。
ですから、
Public Class Form1
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim X As String = TextBox1.Text
        Dim Y As String = TextBox2.Text
        TextBox3.Text = X + Y
    End Sub
End Class

としてみてください。三浦さんの思惑通りになると思いますよ。
ただ、好みの問題かもしれませんが、
>TextBox3.Text = X + Y
ではなくて、TextBox3.Text = X & Y のほうが良いのでは…
魔界の仮面弁士さんより、private内での変数は頭文字は小文字、publicでは大文字という風に決めておくと後で見直したとき楽です。ですから、Dim x As String ですね。


投稿者 三浦  (社会人) 投稿日時 2016/12/27 18:05:26
テキストボックス1
テキストボックス2

ボタン1

テキストボックス3

このように配置して、ボタンを押したときにテキストボックス3に
テキストボックス1テキストボックスと2に入力した文字が連結されるプログラムを作ったのですが
できませんでした。(テキストボックス1の名前はX、テキストボックス2の名前はYにしました。)

Dim X As String = TextBox1.Text
Dim Y As String = TextBox2.Text

X = TextBox1.Text
Y = TextBox2.Text

TextBox3.Text = X + Y

どこが違うかご指摘いただきたいです。