概要
構造体はそのまま使用するのがコード上で求められるわけですが、DBのデータから取得した値や、WebのHTML Formなどで送信されてきた値を構造体に変換させることが求められることがあります。 そこで、「文字列」のデータを「構造体」のデータに変換させる方法について記載します。
前提環境
- Windows 10
- Visual Studio Professional 2019
- .NET Framework 4.2
- C#
コードのポイント
変換不可能な場合がありますから、TryParseを使って変換可能か確認しつつ値を変換します。
TryParseの第2引数は out を使うことで参照渡しとなり、変換可能な場合に値が入ります。
サンプルコード
public enum FruitEnum
{
Apple,
Orange,
Pine,
}
public class Test
{
public void getEnum(String enumCode)
{
FruitEnum fruit;
// ジェネリックで型指定を忘れないように!
if (! Enum.TryParse<FruitEnum>(enumCode, out fruit)) {
fruit = FruitEnum.Apple;
}
// 以下省略