C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[8]: object型判定


(過去ログ 21 を表示中)

[トピック内 12 記事 (1 - 12 表示)]  << 0 >>

■8838 / inTopicNo.1)  object型判定
  
□投稿者/ osada (17回)-(2007/10/11(Thu) 11:20:09)

分類:[.NET 全般] 

お世話になります。
宜しくお願い致します。

変数に格納されている値をobject型がどうか判定したいのですが、そのような関数は存在しますか??

例:Isnumeric(a)的な
引用返信 編集キー/
■8840 / inTopicNo.2)  Re[1]: object型判定
□投稿者/ 囚人 (203回)-(2007/10/11(Thu) 11:33:18)
.NET では全てのインスタンスが object 型ですけどそういう意味ではない?
変数 a が 特定の型 X かどうか調べるのは C# では

a is X

です。

引用返信 編集キー/
■8841 / inTopicNo.3)  Re[1]: object型判定
□投稿者/ mあ (105回)-(2007/10/11(Thu) 11:34:05)
No8838 (osada さん) に返信
> お世話になります。
> 宜しくお願い致します。
>
> 変数に格納されている値をobject型がどうか判定したいのですが、そのような関数は存在しますか??
>
> 例:Isnumeric(a)的な

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
     Handles Button1.Click
Dim value As String = "ok"

MsgBox(CheckType(value).ToString)

End Sub

Function CheckType(ByVal o As Object) As Boolean
If TypeOf o Is Integer Then
Return True
Else
Return False
End If
End Function

文法読みましょう。

引用返信 編集キー/
■8842 / inTopicNo.4)  Re[2]: object型判定
□投稿者/ osada (18回)-(2007/10/11(Thu) 11:41:49)
皆様、お早い回答ありがとうございます。

伝わらず、申し訳ありませんでした。

--------------------------------------
object型を判定したい場合。
※IsObject関数は使用できない
名前空間:Imports Microsoft.VisualBasic.Informationを追加
下記関数使用にて判定可能【戻り値 True,False】
IsReference(変数)
--------------------------------------

上記にて可能でした。

ありがとうございました。

引用返信 編集キー/
■8843 / inTopicNo.5)  Re[3]: object型判定
□投稿者/ osada (19回)-(2007/10/11(Thu) 11:42:05)
No8842 (osada さん) に返信
> 皆様、お早い回答ありがとうございます。
>
> 伝わらず、申し訳ありませんでした。
>
> --------------------------------------
> object型を判定したい場合。
> ※IsObject関数は使用できない
> 名前空間:Imports Microsoft.VisualBasic.Informationを追加
> 下記関数使用にて判定可能【戻り値 True,False】
> IsReference(変数)
> --------------------------------------
>
> 上記にて可能でした。
>
> ありがとうございました。
>
解決済み
引用返信 編集キー/
■8845 / inTopicNo.6)  Re[2]: object型判定
□投稿者/ 渋木宏明(ひどり) (461回)-(2007/10/11(Thu) 12:12:52)
渋木宏明(ひどり) さんの Web サイト
> a is X

だと、参照型はすべて true にならないすか?

C# 的には a.GetType() == typeof(object) じゃないかな。

>上記にて可能でした。

は、「参照型であること」の検査であって「object 型であること」の検査ではないと思う。

実は、そもそも検査したかったのは「参照型であること」であって「object 型であること」の検査じゃなかったってことかな。

引用返信 編集キー/
■8847 / inTopicNo.7)  Re[3]: object型判定
□投稿者/ 囚人 (204回)-(2007/10/11(Thu) 12:55:06)
>だと、参照型はすべて true にならないすか?

ん?
変数 a が例えば、Window 型かどうかを調べるのは

a is Window

じゃなかったでしたっけ?
引用返信 編集キー/
■8859 / inTopicNo.8)  Re[4]: object型判定
□投稿者/ Hirotow (100回)-(2007/10/11(Thu) 16:52:25)
Hirotow さんの Web サイト
No8847 (囚人 さん) に返信
> >だと、参照型はすべて true にならないすか?
>
> ん?
おそらくは a is Object ならという意味だと思われ。
ちなみにMSDNによると組み込み変換可能であれば無条件にTrueを返すみたいなのでこの用途には使えない希ガス。
引用返信 編集キー/
■8860 / inTopicNo.9)  Re[5]: object型判定
□投稿者/ 囚人 (205回)-(2007/10/11(Thu) 16:59:33)
>ちなみにMSDNによると組み込み変換可能であれば無条件にTrueを返すみたいなのでこの用途には使えない希ガス。

でしょうね。

参照型か値型かを調べたいならこういうのはどうです?

!(val is ValueType)

上記は、val が 値型なら False、参照型なら True になるかな。
引用返信 編集キー/
■8866 / inTopicNo.10)  Re[6]: object型判定
□投稿者/ osada (21回)-(2007/10/11(Thu) 19:42:43)
皆様、ご回答頂き、ありがとうございます♪
解決済み
引用返信 編集キー/
■9247 / inTopicNo.11)  Re[7]: object型判定
□投稿者/ osada (24回)-(2007/10/23(Tue) 15:01:49)
皆様。
ご回答頂きありがとうございました。

If TypeName(val) = "Object" Then
   FpSpread1.Sheets(0).Cells(row, 13).Value = 1
End If

上記にて可能でした。


IsReferenceでは参照型は全てTrueとなるためダメでした。

出直します。

解決済み
引用返信 編集キー/
■9249 / inTopicNo.12)  Re[8]: object型判定
□投稿者/ 渋木宏明(ひどり) (488回)-(2007/10/23(Tue) 15:45:47)
渋木宏明(ひどり) さんの Web サイト
> 上記にて可能でした。

「文字列」をコードに埋めるのは、常に「ウチ間違い」という人為的なミスがついて回るということをお忘れなく。

「文字列」を使わなくても、以前書いた手法で目的が果たせるはずです。

引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -