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

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

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

Re[2]: Enumの値の取得方法


(過去ログ 56 を表示中)

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

■31482 / inTopicNo.1)  Enumの値の取得方法
  
□投稿者/ @烏龍茶 (1回)-(2009/01/22(Thu) 16:48:44)

分類:[.NET 全般] 

はじめまして。
環境
ソフト:VB.NET2003
OS:XP

Private Enum TestEnum
 Enum1 = 0
 Enum2 = 1
 Enum3 = 2
End Enum
Dim TestString As String = "Enum2"
Dim TestInteger As Integer 

となっているとき、TestStringの値とTestEnumの値を比較して1を取得したいのですが、
どのようにすれば出来ますか?
ご教示お願い致します。

引用返信 編集キー/
■31483 / inTopicNo.2)  Re[1]: Enumの値の取得方法
□投稿者/ επιστημη (1571回)-(2009/01/22(Thu) 16:57:27)
επιστημη さんの Web サイト
Dim x As TestEnum
な x に対し、x.ToString() によって"文字列表現"が得られるはず。

If x.ToString() = "Enum2" Then
  ....
End If

引用返信 編集キー/
■31485 / inTopicNo.3)  Re[1]: Enumの値の取得方法
□投稿者/ aetos (80回)-(2009/01/22(Thu) 17:09:33)
aetos さんの Web サイト
No31482 (@烏龍茶 さん) に返信

Enum.Parse( typeof( TestEum ), "Enum2" ) で TestEnum.Enum2 が得られます。

Flags がつく場合はもうちょっと考えないといけませんけどね。
引用返信 編集キー/
■31498 / inTopicNo.4)  Re[2]: Enumの値の取得方法
□投稿者/ まどか (600回)-(2009/01/22(Thu) 22:43:49)
No31483 (επιστημη さん) に返信
> If x.ToString() = "Enum2" Then

ToStringを条件(仕様)として使うのはちょっとなぁ。。。
「表示のため」の文字列変換と認識していますので。
既定でOverridableですし。(Enumは関係ないですが)
引用返信 編集キー/
■31507 / inTopicNo.5)  Re[1]: Enumの値の取得方法
□投稿者/ Azulean (274回)-(2009/01/22(Thu) 23:54:03)
念のため。


個人で作っているとか、法人で作っていても難読化しないのであれば杞憂ですが、
難読化するようなソリューションだと、文字列からEnumの値を得るのは困難か不可能になります。

引用返信 編集キー/
■31514 / inTopicNo.6)  Re[2]: Enumの値の取得方法
□投稿者/ @烏龍茶 (3回)-(2009/01/23(Fri) 08:41:19)
おはようございます。お礼が遅くなりすみません。

レス読ませていただきました。
επιστημηさん、 まどかさん、aetosさん、Azuleanさんありがとうございます。
参考にさせていただきます。
またどうしても分からなくなった時に質問をさせてください。
解決済み
引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -