• ベストアンサー

型変換の方法の違い

型変換の方法として、以下の2つがあると認識しているのですが、 1. 型(変数); 2. 変数 as 型; これにはどのような違いがあるのでしょうか? 1の方法で強制型変換のエラーがでてしまったときに2の方法に変更すると、エラーがでなくなります。 ご存知の方がいらっしゃいましたら、ご教授いただければと思います。 よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • cspl
  • ベストアンサー率83% (55/66)
回答No.1

下記の記述を参考にしてみてください。 ■as 演算子 http://blogs.adobe.com/akamijo/archives/2006/01/_as.html 基本的に意味は同じですが、括弧を使用したキャストがエラーになる場合、as演算子ではnullになります。as演算子は「強制的に型変換」という意味合いよりも少し弱いと理解して、指定した型以外の型が入る可能性を知りたい場合はas演算子を利用すればよいのではないでしょうか。

amane123
質問者

お礼

疑問が解決いたしました。ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • SQLで文字列を時刻に型変換する方法

    SQLで文字列を時刻に型変換する方法を教えていただきたいです。 char型のAというカラムに'090000'が格納されています。 この値を time型のBというカラムに型変換して登録したいのですが、 cast(A as time) としてもエラーが出てしまうので、現在は cast(SubString(A,1,2)+':'+SubString(A,3,2)+':'+SubString(A,5,2) as time) と変換しています。 もっと簡単に変換する方法はありますでしょうか? ご教示頂けましたら、助かります。 宜しくお願い致します。

  • LPCWSTRへの型変換について

    C++のDirectxでデバッグをするのにD3DXCreateFontを使って変数を表示したいのですが、FLOATからLPCWSTRに型変換する方法がわかりません。 どうすればよいでしょうか?

  • VB.netで、動的な型変換を行いたいのですが、、、(CTypeではできない?!)

    VB.netで、 動的な型変換を行いたいと思っています。 イメージ的には、 CType(hogehoge,String)やCType(hogehoge,Integer) CType(hogehoge,MyClassHogehoge) ではなく、 CType(hogehoge,"String"),CType(hogehoge,"Integer") CType(hogehoge,"MyClassHogehoge") というように、 その場の変数で決まる型変換です。 Dim a as MyClassA Dim b as Object とあって CType(b,a)というような変換をしたいのです。 (が、CTypeやDirectCastの第二引数は、  定義された型名しか受け付け無いようです。) ----- 実際には、 mytype.InvokeMember("変数名", BindingFlags.SetProperty Or BindingFlags.Public Or BindingFlags.NonPublic Or BindingFlags.Instance, Nothing, "インスタンス", New [Object]() {"設定値"}) という処理をやる上で、 "設定値"が文字列(String)である場合、 "変数名"で、動的にアサインされた変数の型(たとえばMyClass)に型変換しないと、 値が設定できないためです。 (CType("設定値","インスタンス"."変数名")というようなこと必要となってくるはずです、、、) ----- 上記手順が、可能なのかどうか、 まったくのナンセンスなのかどうかも わかっていないので、 一言でもいただけるとたすかります。。。 どうぞよろしくおねがいいたします。

  • データ型変換

    String型のデータをInteger型の変数に入れたいのでが・・・。 '変数の宣言 Dim DataTable(2, 5) As String Dim made As Integer 'データ型変換 made = CInt(DataTable(1, 0)) このようにしたのですが、実行すると 『実行時エラー '13'  型が一致しません』 と表示され、デバックしてみるとココ↓ made = CInt(DataTable(1, 0)) が黄色くなります。 どうしたら上手く型変換ができるのでしょうか? ちなみに、VB6.0です。

  • Delphiの型変換について

    DelphiでParadoxにテーブルを作成するツールを 作ろうとしています。 TFieldType型のftStringを文字列'ftString'に 変換してString型の2次元配列にいれたいのですが、 うまくいきません。 String型にキャストしようとしても 「正しくない型キャスト」とエラーが出てしまいます。 どうすれば、TFieldType型をString型に 変換できるのでしょうか。 Paradoxを使ったことのある方、ご教授お願いします。

  • <>で記述する型について

    flash初心者です。 wonderflにてコードを見ていた際に下記のような変数が出てきました。 private var gridDatasVectors:Vector.<Vector.<GridData>> = new Vector.<Vector.<GridData>>(); この"<>"のついた型はどのような意味を持つのものなのでしょうか? 通常の型となにか違いがあるのでしょうか? また、どういった場合に使用するものなのでしょうか? ご存じの方がいらっしゃいましたら、ご教授ください。 よろしくお願いいたします。

    • ベストアンサー
    • Flash
  • 日付の型変換について

    初めて質問させていただきます。 知識がなく、馬鹿な質問していたらすみません。 batファイル内に、DATEコマンドで取得した日付を利用して、 新規でフォルダを作成したいのですが、2007/03/13といった感じに、 「/」がはいってしまい、ディレクトリが作成できなくて困っております。 windowsコマンド初心者で、知らないだけかもしれないですが、 型を変換するようなものがみつけられませんでした。 どなたか、ご存知の方がいましたら、ご教授いただけないでしょうか?

  • 型 varchar から型 numeric への変換エラー。

    SQLクエリアナライザを使って、あるデータベースからLEFT JOINなどを駆使し、条件にそってデータを抽出しようと必死でやっております。 今まではうまく取得できていたのに、”型 varchar から型 numeric への変換エラー。”というエラーがでるようになりました。 前回とテーブルのデータを比較してみると、IsNULL(chrShokuhinCD,'') as chrShokuhinCDで引っ掛かっているようです。 この項目には空白(スペース)が入ったデータが最近存在しているのが原因だと思うのですが。。。 空白だったとき、IsNULL(chrShokuhinCD,'') as chrShokuhinCDはどのように修正すればよいでしょうか?教えてください。

  • 型変換プログラムで

      以下の型変換プログラムで質問です!? PHPレベルは下の下です。 <html> 1 <head> 2 <title>型変換</title> 3 </head> 4 <body> 5 <?php 6 $var = TRUE; 7 print (gettype($var). "<br />"); 8 $var=100; 9 print (gettype($var). "<br />"); 10 $var=100.001; 11 print (gettype($var). "<br />"); 12 $var="TRUE"; 13 print  (gettype($var)); 14 ?> 15 </body> 16 </html>   以上ですが、result(実行結果は)以下です。  boolean integer double string  以上の実行結果で疑問に思うことは、 同じ変数のTRUEでありながら プログラムの6の実行結果の”boolean”と   プログラム12の”string”の実行結果と違いがあるのはなぜですか!?  ※agunuz 回答禁止    宜しくお願いします。

    • ベストアンサー
    • PHP
  • この型変換の内容がわかりません(LSet)

    こんにちわ。以下のプログラムを解読しているのですが、型変換がどう行われているのかがわからなくて困っています。 『←ココ!!』となっているところの型変換です。PのLong型をByte型へ変換しているとは思うのですが、内容をみるとどうなってそうなったのかわからないのです。『←ココ!!』の後の値を見てみると、 bP.bP(3)は「0」 bP.bP(2)は「188」 bP.bP(1)は「97」 bP.bP(0)は「78」 となっています。LSetで「P:12345678」がどうなってこうなったのでしょうか? 教えていただけるとうれしいです。宜しくお願いしまっす。 ***プログラム*** ’宣言 Const P As Long =12345678 Private Type bytP bP(3) As Byte End Type Private Type lngP lP As Long End Type Dim bytB(4) As Byte ’mainの中 lP.lP = P LSet bP = lP 『←ココ!!』 bytB(0) = bP.bP(3) bytB(1) = bP.bP(2) bytB(2) = bP.bP(1) bytB(3) = bP.bP(0) ******************

DCP-J577NのWi-Fi 5G接続について
このQ&Aのポイント
  • DCP-J577NのWi-Fi 5G接続について問題が発生しています。
  • Wi-Fiでのパソコンとの接続で5G回線ができないため、解決方法を探しています。
  • プリンターのWi-Fiの選択で2Gはあるが、5Gがなくて直接入力してもエラーが出ます。
回答を見る

専門家に質問してみよう