1. ホーム
  2. .net

[解決済み] VB.NETではどのようにキャストすればよいのでしょうか?

2022-04-26 14:17:24

質問

これらはすべて平等なのでしょうか? どのような場合に、それぞれを選択すべきなのでしょうか?

  • var.ToString()

  • CStr(var)

  • CType(var, String)

  • 直接キャスト(var, String)


EDIT:からの提案 NotMyself ...

  • トライキャスト(var, String)

どのように解決するのですか?

それらはすべて微妙に異なっており、一般的に許容される使用法がある。

  • var. ToString () は、オブジェクトがどのような型であるかにかかわらず、オブジェクトの文字列表現を与えることになります。 次のような場合に使用します。 var がすでに文字列でない場合。
  • CStr (var) はVBの文字列キャスト演算子です。 私はVBに詳しくないので、避けた方がいいと思いますが、特に支障はないでしょう。 と基本的に同じだと思います。 CType .
  • CType (var, String) は、指定された変換演算子を用いて、与えられた型を文字列に変換します。
  • DirectCast (var, String) は、オブジェクトを文字列にアップキャストするために使用します。 オブジェクト変数が実際には文字列であることが分かっている場合は、これを使用します。 これは (string)var C#の場合。
  • TryCast (@で述べたように ノットマイセルフ ) は、まるで DirectCast を返しますが Nothing が文字列に変換できない場合、例外を投げるのではなく、その変数を文字列に変換します。 これは var as string をC#で使用します。 の TryCast のページにも、良い比較が載っています。