タイトルで質問内容を書いてますが、
Dim Str As String = "" と Dim str As String = String.Emptyはどう違いますか?
""は空文字が入り、String.EmptyはNullが入るという認識ですが、
やっていることは初期化なはずです。
実際に触ったプログラムにも上記の初期化が混在していたりします。
意図が合って使い分けているのか、作成者の自由なのかが気になります。
皆様はどっちの方法で初期化していますか?
自分はString.Emptyが妥当なのではと思うのですが、実際のところ教えてください。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答3件
0
いえ、String.Empty
も中身は空文字列です(MSDN)。
.NET 1.x時代には、""
がその都度オブジェクトを生成していたので、String.Empty
のほうが効率が良かったのですが、今となっては差はないので、気分やコーディング規約次第で選べばいいとのことです(StackOverflow)。
投稿2017/07/20 02:06
総合スコア145932
0
string.empty "" などをキーワードにググると参考になりそうな記事がいろいろヒットしますが、ここで質問する前にやってみましたか。例えば下記:
パフォーマンスを気にするなら、String.Empty より "" と書いた方が良い。
http://blogs.wankuma.com/shuujin/archive/2008/04/21/134497.aspx
上記のような細かいことを言わない限り String.Empty と "" は同じです。
投稿2017/07/20 02:04
退会済みユーザー
総合スコア0
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
ベストアンサー
ちょっと興味がわいたので下記の処理を作ってみました。
↓↓ここが嘘でしたごめんなさい
結果、全ての処理においてメッセージボックスが表示されましたね。
というわけで、ほぼ等価と言って良いかと思います。
↑↑ここが嘘でしたごめんなさい
nothingを除いて、""とString.emptyはほぼ等価と言って良いでしょう。
ただ、書き方としてはプロジェクト内で統一したいですね。
Dim test1 As String = "" Dim test2 As String = String.Empty Dim test3 As String = Nothing If test1 = "" Then MsgBox("test1は空白") End If If test2 = "" Then MsgBox("test2は空白") End If If test3 = "" Then MsgBox("test3は空白") End If If test1 = String.Empty Then MsgBox("test1はempty") End If If test2 = String.Empty Then MsgBox("test2はempty") End If If test3 = String.Empty Then MsgBox("test3はempty") End If If test1 = Nothing Then MsgBox("test1はnothing") End If If test2 = Nothing Then MsgBox("test2はnothing") End If If test3 = Nothing Then MsgBox("test3はnothing") End If 'この時には、test3のみが判定の対象になる!! If IsNothing(test1) Then MsgBox("test1はnothing") End If If IsNothing(test2) Then MsgBox("test2はnothing") End If If IsNothing(test3) Then MsgBox("test3はnothing") End If
投稿2017/07/20 02:06
編集2017/07/20 02:17総合スコア3027
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/07/20 02:14
2017/07/20 02:16
2017/07/20 02:24
退会済みユーザー
2017/07/20 02:36
退会済みユーザー
2017/07/20 02:58 編集
2017/07/20 02:50 編集
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。