今回は値型⇔string型です。共通認識は前回と一緒です。以前型推論を説明しましたが、これが乱用されてしまうと問題になりそう、と思うのは正しい感覚です。時と場合によっては型推論は非常に有用ですので使える場面においては積極的に使っていこうじゃないか、というのが今回のテーマです。暗黙的に型付けする変数のことを型推論と言います。C#はvarキーワードを利用します。VB.NETはDimキーワードのみにしてAs以降の型を指定しないと型推論となります。1.C#、VB.NET-6.型おおむね型変換が出そろったところで、「どれを使うか?」をシリーズで考えてみます。今回はstring型⇔値型です。以下は共通認識とします。型変換は何を使う?(その1)の続きです。数値型はnullは許容しませんので、関数化できるならTryParse一択だと思います。型を覚えるときに必ずセットで出てくる型変換(キャスト)の話です。実は、型変換はC#とVB.NETでだいぶ違います。C#は変換方法がだいたい決まっているのですが、VB.NETでは変換方法がありすぎて、プログラマーによってまちまちなのです。1.C#、VB.NET-6.型null許容型を利用する上で重要なnull判定方法をいくつか説明します。if文による等価評価(Is)を行います。値型がnullを許容しないことは分かりました。アプリケーション構築上、nullを許容しなければいけない場面もあります。そこで登場したのがnull許容型です。null許容型は値型の後ろに「?」をつけるだけです。1.C#、VB.NET-1.C#、VB.NETの違い参照型はnullを許容していますが、値型はどうでしょうか。実はここでもC#とVB.NETで微妙に挙動が異なります。参照型はnullを許容していますが、値型はnull非許容です。型変換でよく出てくる用語の一つに「ボックス化(又はボクシング)」があります。簡単に言うとそういうことです。1.C#、VB.NET-6.型TryParseメソッドは、数値ではなくカンマ区切りの数値を渡したときの挙動が型によって微妙に違います。使われるint、long、double、decimalで説明します。1.C#、VB.NET-6.型バインディング(型を結びつけること)には事前バインディングと遅延バインディングの2種類あります。これもC#とVB.NETで微妙に動作(というかお作法)が違います。はじめに事前バインディングと遅延バインディングの違いを簡単に説明します。1.C#、VB.NET-6.型string型はプリミティブ型に分類されますが、参照型です。値型と勘違いされますが誰がなんと言おうと参照型です。何も考えず以下のようなコードを書くとどうでしょう。結果としては値型のような挙動になります。1.C#、VB.NET-6.型プログラミングを学習すると必ずやらなければならない、そしてよく分からない?値型と参照型の違いについて。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。