- 題名: enumのToString("G") した文字列を enum に戻したい
- 日時: 2005/01/23 2:58:04
- ID: 8621
- この記事の返信元:
- (なし)
- この記事への返信:
- [8637] Re[1]: enumのToString("G") した文字列を enum に戻したい2005/01/23 16:24:20
- ツリーを表示
> enum値をToString("G")によって文字列にしたものがあったとして、
> それをenum値に戻すにはどうしたらいいでしょうか。
たとえば、こんな感じで。
==================================
Imports System
Module VisualBasic
Enum X As Integer
Orator
Benshi
End Enum
Sub Main()
Dim Y As X = X.Benshi
Dim S As String = Y.ToString("G")
Dim O As Object = [Enum].Parse(GetType(X), S)
Dim E As X = DirectCast(O, X)
Console.WriteLine(String.Format("""{1}"" => {0:G}, {0:D}", E, S))
End Sub
End Module
==================================
import System;
enum X :int { Orator, Benshi }
var Y : X = X.Benshi;
var S : String = Y.ToString("G");
var O : Object = Enum.Parse(Type.GetType("X"), S);
var E : X = X(O);
Console.WriteLine(String.Format('"{1}" => {0:G}, {0:D}', E, S));
==================================
using System;
class CSharp
{
enum X : int { Orator, Benshi }
static void Main()
{
X Y = X.Benshi;
String S = Y.ToString("G");
Object O = Enum.Parse(typeof(X), S);
X E = (X)O;
Console.WriteLine(String.Format(@"""{1}"" => {0:G}, {0:D}", E, S));
}
}
==================================
分類:[.NET]
お世話になっております。
enum値をToString("G")によって文字列にしたものがあったとして、
それをenum値に戻すにはどうしたらいいでしょうか。
enum型の変数の入ったクラスをシリアライズすると、文字列で出力されて
それをまたデシリアライズできるので、なにか方法があるんだと思うんですが・・・。
むしろ、このデシリアライズを利用するしかないとかでしょうか。
最後の手段はそこだとは思っています。
.NET Framework 1.1のC#を使用しています。VBもわかります。