
Request.QueryString("testNo")で取得した値の型についてなのですが、私は文字列だと思っていました。
ところがここでわからなくなってしまったのが、
Request.QueryString("testNo")で取得した値を比較するときです。
たとえば
ttp://xxxx/xxx.aspx?testNo=3
で受取ったRequest.QueryString("testNo")を比較するとします。
if Request.QueryString("testNo") = "3" then
と
if Request.QueryString("testNo") = 3 then
ではどちらもTrueになるのですが、これはどうしてなのでしょう?
どういった解釈がなされているのかが知りたいです。
もしくは、書いてあるページを教えていただけると幸いです。
今までは特に気にしてなかったのですが、文字列を数値で比較しても
大丈夫なのでしょうか?
自分の書いたところ見るとどっちのパターンでも書いてあって
あやふやです。
No.2ベストアンサー
- 回答日時:
HttpRequest.QueryStringはNameValueCollection型ですから,KeyもValueもStringです。
http://msdn2.microsoft.com/ja-jp/library/system. …
http://msdn2.microsoft.com/ja-jp/library/system. …
さて,今回の場合はVisual Basicですよね。
これがC#だと自動変換がないので間違いなくエラーになるのですが,VBではOption StrictがOffだと自動変換がはたらいてしまいます。さらに,デフォルト値がOffだったりします。
http://msdn2.microsoft.com/ja-jp/library/zcd4xwz …
いろいろとややこしいことになるので,Option StrictはOnにしておくことをお勧めします。
No.3
- 回答日時:
しまった。
。。読み直したら違ってたので再回答(汗
>>Dim abc as int
>>abc = CInt(request.querystring("testNo"))
>>もしくは
>>Dim abc as String
>>abc = CStr(request.querystring("testNo"))
そもそも、ASP(.netだとか、別環境じゃ知りませんが、VBScriptであることを前提とする場合。。。)だと、変数宣言に型までつけるとエラーでしたっけね(汗
Dim abc
までしかできない。ですね。
その後の、データ型変換は自分でもやってるので大丈夫かと思いますが。
No.1
- 回答日時:
>>文字列を数値で比較しても大丈夫なのでしょうか?
ん~。ここについてだけ回答です。
>>if Request.QueryString("testNo") = "3" then
>>if Request.QueryString("testNo") = 3 then
なので。。。
Dim abc as int
abc = CInt(request.querystring("testNo"))
もしくは
Dim abc as String
abc = CStr(request.querystring("testNo"))
で、データ型を強制的に決めちゃいます。
そしてから使うと混乱しなくて済んだりします(´・ω・`)
。。。たまに、型宣言ミスって混乱する自分が言うのもなんですが(汗
http://www.atmarkit.co.jp/fwin2k/tutor/cformwsh0 …
http://tryasp.winscom.co.jp/document/vbscript/7. …
確証はないですけど。。。
「何型なの?」って言われたとしたら、バリアント型じゃないかな。。。?程度の記述はいろんなところに落ちてました。
まぁ、それから察するに。。。
「"3"」と「3」の違いは、バリアント型だから、どっちであってもOKってことじゃないですかね。
型宣言して、格納してみてからそれぞれやってみたら変わるかも??
参考URL:http://www.mhl.janis.or.jp/~winarrow/vbscript/
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) pythonリストの特定の値を表示htmlで表示できない 2 2022/05/14 05:48
- Access(アクセス) MAXで0が出力される 1 2022/03/31 21:43
- Visual Basic(VBA) VBAのifで 4 2023/05/16 14:21
- Visual Basic(VBA) VBA 改行コードの取り方 1 2022/03/22 14:14
- Visual Basic(VBA) vba 最大値 条件分岐 4 2022/12/10 10:20
- その他(プログラミング・Web制作) laravel 本番環境でメールが送れません。 1 2023/02/17 17:57
- その他(コンピューター・テクノロジー) 【Tableau Desktop】文字列から8桁の数字を日付型(yyyyMMdd)として取得 1 2023/07/31 10:17
- Visual Basic(VBA) ExcelVBAでDo Until loopのネスト、IF文を使って一致する物と一致しない物としたい 11 2022/12/24 17:46
- その他(プログラミング・Web制作) セレクトボックスで選択された値をコントローラーで使用したい 2 2022/07/26 16:41
- Excel(エクセル) VBAで “:” を含むセルの特定 2 2023/05/11 16:30
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SQL Serverにおける小数部の0...
-
16進数を10進数に変換する方法...
-
ユリウス日から和暦(江戸時代...
-
特定行の色を変えたい(FlexGrid)
-
エクセルで、絶対値の平均を算...
-
ExcelVBAを使って、値...
-
テキストボックスのvalueとtext...
-
i=cells(Rows.Count, 1)とi=cel...
-
エクセルvbaで、別シートの最下...
-
テキストの文字列検索で、検索...
-
Accessのクエリで、replace関数...
-
JavaScriptでリンク先やリモー...
-
特定のセルが空白だったら、そ...
-
VB.NETで DataRow()を利用して...
-
Excel オートフィルタのリスト...
-
配列を使ってWEB画面から一気に...
-
【ASP.NET MVC】一覧編集画面
-
VBAマクロで結合セルを含む列に...
-
.NET - 配列変数を省略可能の引...
-
C#の質問です
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
おすすめ情報