zoukankan      html  css  js  c++  java
  • C# 枚举、字符串、值的相互转换

    using System;

    class Program
    {
       
    public enum Color
       {
          Red 
    = 0xff0000,
          Orange 
    = 0xFFA500,
          Yellow 
    = 0xFFFF00,
          Lime 
    = 0x00FF00,
          Cyan 
    = 0x00FFFF,
          Blue 
    = 0x0000FF,
          Purple 
    = 0x800080
       }

       
    static void Main(string[] args)
       {
          Color color 
    = Color.Blue;
          
    string colorString = "Blue";
          
    int colorValue = 0x0000FF;

          
    //枚举转字符串
          string enumStringOne = color.ToString();
          
    string enumStringTwo = Enum.GetName(typeof(Color), color);

          
    //枚举转值
          int enumValueOne = color.GetHashCode();
          
    int enumValueTwo = (int)color;
          
    int enumValueThree = Convert.ToInt32(color);

          
    //字符串转枚举
          Color enumOne = (Color)Enum.Parse(typeof(Color), colorString);

          
    //字符串转值
          int enumValueFour = (int)Enum.Parse(typeof(Color), colorString);

          
    //值转枚举
          Color enumTwo = (Color)colorValue;
          Color enumThree 
    = (Color)Enum.ToObject(typeof(Color), colorValue);

          
    //值转字符串
          string enumStringThree = Enum.GetName(typeof(Color), colorValue);
       }
    }
    //假设有枚举值如下:

    public enum DbProviderType

      {

          SqlServer,

          Oracle

      }
    //1、将枚举转换为字符串:

    string strDbType = DbProviderType.SqlServer.ToString();
    //2、将字符串转换为枚举:

    DbProviderType dbType = (DbProviderType)Enum.Parse(typeof(DbProviderType), strDbType, true); 

  • 相关阅读:
    一行语句让你的浏览器变成记事本
    为啥只有IPv4和IPv6,没有IPv5呢?
    在线C++编译器
    怎么让Visual Studiot在遇到一个project编译错误时停止编译其它project
    C#的继承类中static constructor的调用问题
    C#中静态构造函数导致的一个deadlock
    一个C++的轻量级的logger实现
    一个免费轻量的Mathematica替代Mathics
    实时交通路况
    构建WAP邮件发送服务器
  • 原文地址:https://www.cnblogs.com/itelite/p/2016159.html
Copyright © 2011-2022 走看看