C# と VB.NET の質問掲示板
ASP.NET、C++/CLI、Java 何でもどうぞ
C# と VB.NET の入門サイト
Re[2]: Stringの比較でIsと=の違いは?
(過去ログ 68 を表示中)
掲示板トップ
C# と VB.NET 入門
新規作成
利用方法/規約
トピック表示
ランキング
記事検索
過去ログ
[トピック内 5 記事 (1 - 5 表示)] <<
0
>>
■39610
/ inTopicNo.1)
Stringの比較でIsと=の違いは?
▼
■
□投稿者/ R2D2
(1回)-(2009/08/11(Tue) 15:27:32)
分類:[VB.NET/VB2005 以降]
If文でテキストボックスの値が空白なら
の条件をチェックする際
Textbox1.text = String.Empty
Textbox1.text is String.Empty
も条件を満たしてくれますが、これはどちらを使っても良いのでしょうか?
↑の意味合いとしてはテキストボックスの値を空にするときに
Textbox1.text = String.Empty
Textbox1.text = ""
のどちらを使うかは規約などで変わるような認識でいいでしょうか?
引用返信
編集キー/
編集
■39612
/ inTopicNo.2)
Re[1]: Stringの比較でIsと=の違いは?
▲
▼
■
□投稿者/
επιστημη
(2099回)-(2009/08/11(Tue) 15:32:22)
回答ぢゃないけど:
> If文でテキストボックスの値が空白なら
> の条件をチェックする際
> Textbox1.text = String.Empty
> Textbox1.text is String.Empty
> も条件を満たしてくれますが、これはどちらを使っても良いのでしょうか?
String.IsNullOrEmpty(Textbox1.Text) なんてのもあるます。
引用返信
編集キー/
編集
■39615
/ inTopicNo.3)
Re[1]: Stringの比較でIsと=の違いは?
▲
▼
■
□投稿者/ 魔界の仮面弁士
(1195回)-(2009/08/11(Tue) 15:46:41)
■
No39610
(R2D2 さん) に返信
> If文でテキストボックスの値が空白なら
If TextBox1.TextLength = 0 Then
If TextBox1.Text = "" Then
> Textbox1.text = String.Empty
> Textbox1.text is String.Empty
> も条件を満たしてくれますが、これはどちらを使っても良いのでしょうか?
後者は厳密には NG です。動いてくれる可能性が高いとは思いますが。
あとは、このあたりとか。
http://rucio.groupsite.jp/commu/ThreadDetail.aspx?ThreadId=9187
> ↑の意味合いとしてはテキストボックスの値を空にするときに
TextBox1.Clear() という手も。
引用返信
編集キー/
編集
■39616
/ inTopicNo.4)
Re[1]: Stringの比較でIsと=の違いは?
▲
▼
■
□投稿者/ よねKEN
(400回)-(2009/08/11(Tue) 15:56:49)
■
No39610
(R2D2 さん) に返信
> Textbox1.text = String.Empty
> Textbox1.text is String.Empty
> も条件を満たしてくれますが、これはどちらを使っても良いのでしょうか?
= と Isは比較するものがまったく違いますので、値の比較をするなら=を使いましょう。
#もちろんεπιστημηさんの方法でも可
■
No39615
(魔界の仮面弁士 さん) に返信
>>Textbox1.text is String.Empty
>>も条件を満たしてくれますが、これはどちらを使っても良いのでしょうか?
> 後者は厳密には NG です。動いてくれる可能性が高いとは思いますが。
「たまたま動く」だろうと思ったのですが、
私のとこで実験コードを書いて試してみたら結果はNGでした。
いずれにせよ、Is演算子は比較するものが違うので、今回の用途では使うものではないですね。
引用返信
編集キー/
編集
■39620
/ inTopicNo.5)
Re[2]: Stringの比較でIsと=の違いは?
▲
▼
■
□投稿者/ 魔界の仮面弁士
(1196回)-(2009/08/11(Tue) 16:12:47)
■
No39616
(よねKEN さん) に返信
> >>Textbox1.text is String.Empty
> >>も条件を満たしてくれますが、これはどちらを使っても良いのでしょうか?
>>後者は厳密には NG です。動いてくれる可能性が高いとは思いますが。
> 「たまたま動く」だろうと思ったのですが、
> 私のとこで実験コードを書いて試してみたら結果はNGでした。
元質問に『〜も条件を満たしてくれますが』とあったので、
私も「たまたま動く」と予想したのですが…確かに動かないですね。
# CLR 1.1 および 2.0 で確認
Dim sb As New System.Text.StringBuilder()
TextBox1.Text = sb.ToString()
MsgBox(TextBox1.Text = String.Empty) 'True
MsgBox(TextBox1.Text Is String.Empty) 'False
TextBox1.Text = ""
MsgBox(TextBox1.Text = String.Empty) 'True
MsgBox(TextBox1.Text Is String.Empty) 'False
TextBox1.Text = String.Empty
MsgBox(TextBox1.Text = String.Empty) 'True
MsgBox(TextBox1.Text Is String.Empty) 'False
TextBox1.Text = Nothing
MsgBox(TextBox1.Text = String.Empty) 'True
MsgBox(TextBox1.Text Is String.Empty) 'False
TextBox1.Clear()
MsgBox(TextBox1.Text = String.Empty) 'True
MsgBox(TextBox1.Text Is String.Empty) 'False
> いずれにせよ、Is演算子は比較するものが違うので、今回の用途では使うものではないですね。
ですね。
引用返信
編集キー/
編集
トピック内ページ移動 / <<
0
>>
このトピックに書きこむ
過去ログには書き込み不可
管理者用
-
Child Tree
-