Csharp/C Sharp by API/System/Enum

Материал из .Net Framework эксперт
Перейти к: навигация, поиск

Enum.Format()

<source lang="csharp"> using System; enum EmployeeType : byte {

 Manager = 10,
 Programmer = 1,
 Contractor = 100,
 Developer = 9

} class MainClass {

 public static void Main(string[] args)
 {
   
   EmployeeType fred;
   fred = EmployeeType.Developer;
   
   Console.WriteLine("You are a {0}", fred.ToString());
   Console.WriteLine("Hex value is {0}", Enum.Format(typeof(EmployeeType), fred, "x"));
   Console.WriteLine("Int value is {0}", Enum.Format(typeof(EmployeeType), fred, "D"));
 }

}

 </source>


Enum.GetNames

<source lang="csharp"> using System; using System.Collections.Generic; using System.ruponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; public class Form1 : Form {

   private System.Windows.Forms.Label label1;
   private System.Windows.Forms.Label label2;
   private System.Windows.Forms.ruboBox lstAlignmentH;
   private System.Windows.Forms.ruboBox lstTrimming;
   private System.Windows.Forms.Label label3;
   private System.Windows.Forms.ruboBox lstAlignmentV;
       public Form1() {
           InitializeComponent();
     ResizeRedraw = true;
     lstAlignmentH.DataSource = Enum.GetNames(typeof(StringAlignment));
     lstAlignmentV.DataSource = Enum.GetNames(typeof(StringAlignment));
     lstTrimming.DataSource = Enum.GetNames(typeof(StringTrimming));
       }
   private void TextWrap_Paint(object sender, PaintEventArgs e)
   {
     string text = "Alignment Alignment Alignment Alignment Alignment Alignment Alignment Alignment Alignment Alignment Alignment Alignment Alignment Alignment Alignment Alignment Alignment Alignment Alignment Center each line of text.Center each line of textCenter each line of textCenter each line of textCenter each line of textCenter each line of text";
         
     StringFormat stringFormat = new StringFormat();
     stringFormat.Alignment = (StringAlignment)Enum.Parse(typeof(StringAlignment), lstAlignmentH.Text);
     stringFormat.LineAlignment = (StringAlignment)Enum.Parse(typeof(StringAlignment), lstAlignmentV.Text);
     
     stringFormat.Trimming = (StringTrimming)Enum.Parse(typeof(StringTrimming), lstTrimming.Text);
     Font font = new Font("Verdana", 12);
     Rectangle rect = new Rectangle(30, 110, Width - 60, Height - 160);
     e.Graphics.DrawString(text, font, Brushes.Black, rect, stringFormat);
     Pen pen = Pens.Black;
     e.Graphics.DrawRectangle(pen, rect);
   }
   private void lst_Changed(object sender, EventArgs e)
   {
     Invalidate();
   }
   private void InitializeComponent()
   {
     this.label1 = new System.Windows.Forms.Label();
     this.label2 = new System.Windows.Forms.Label();
     this.lstAlignmentH = new System.Windows.Forms.ruboBox();
     this.lstTrimming = new System.Windows.Forms.ruboBox();
     this.label3 = new System.Windows.Forms.Label();
     this.lstAlignmentV = new System.Windows.Forms.ruboBox();
     this.SuspendLayout();
     this.label1.AutoSize = true;
     this.label1.Location = new System.Drawing.Point(12, 19);
     this.label1.Name = "label1";
     this.label1.Size = new System.Drawing.Size(113, 13);
     this.label1.TabIndex = 0;
     this.label1.Text = "Alignment (Horizontal):";
     this.label2.AutoSize = true;
     this.label2.Location = new System.Drawing.Point(12, 74);
     this.label2.Name = "label2";
     this.label2.Size = new System.Drawing.Size(49, 13);
     this.label2.TabIndex = 1;
     this.label2.Text = "Trimming:";
     this.lstAlignmentH.DropDownStyle = System.Windows.Forms.ruboBoxStyle.DropDownList;
     this.lstAlignmentH.FormattingEnabled = true;
     this.lstAlignmentH.Location = new System.Drawing.Point(131, 16);
     this.lstAlignmentH.Name = "lstAlignmentH";
     this.lstAlignmentH.Size = new System.Drawing.Size(121, 21);
     this.lstAlignmentH.TabIndex = 2;
     this.lstAlignmentH.SelectedIndexChanged += new System.EventHandler(this.lst_Changed);
     this.lstTrimming.DropDownStyle = System.Windows.Forms.ruboBoxStyle.DropDownList;
     this.lstTrimming.FormattingEnabled = true;
     this.lstTrimming.Location = new System.Drawing.Point(131, 69);
     this.lstTrimming.Name = "lstTrimming";
     this.lstTrimming.Size = new System.Drawing.Size(121, 21);
     this.lstTrimming.TabIndex = 3;
     this.lstTrimming.SelectedIndexChanged += new System.EventHandler(this.lst_Changed);
     this.label3.AutoSize = true;
     this.label3.Location = new System.Drawing.Point(12, 47);
     this.label3.Name = "label3";
     this.label3.Size = new System.Drawing.Size(100, 13);
     this.label3.TabIndex = 4;
     this.label3.Text = "Alignment (Vertical):";
     this.lstAlignmentV.DropDownStyle = System.Windows.Forms.ruboBoxStyle.DropDownList;
     this.lstAlignmentV.FormattingEnabled = true;
     this.lstAlignmentV.Location = new System.Drawing.Point(131, 42);
     this.lstAlignmentV.Name = "lstAlignmentV";
     this.lstAlignmentV.Size = new System.Drawing.Size(121, 21);
     this.lstAlignmentV.TabIndex = 5;
     this.lstAlignmentV.SelectedIndexChanged += new System.EventHandler(this.lst_Changed);
     this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
     this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
     this.ClientSize = new System.Drawing.Size(319, 296);
     this.Controls.Add(this.lstAlignmentV);
     this.Controls.Add(this.label3);
     this.Controls.Add(this.lstTrimming);
     this.Controls.Add(this.lstAlignmentH);
     this.Controls.Add(this.label2);
     this.Controls.Add(this.label1);
     this.Font = new System.Drawing.Font("Tahoma", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
     this.Name = "TextWrap";
     this.Text = "Text Wrap";
     this.Paint += new System.Windows.Forms.PaintEventHandler(this.TextWrap_Paint);
     this.ResumeLayout(false);
     this.PerformLayout();
   }
     [STAThread]
     static void Main()
     {
       Application.EnableVisualStyles();
       Application.Run(new Form1());
     }

}

 </source>


Enum.GetUnderlyingType()

<source lang="csharp"> using System; enum EmployeeType : byte {

 Manager = 10,
 Programmer = 1,
 Contractor = 100,
 Developer = 9

} class MainClass {

 public static void Main(string[] args)
 {
   
   Console.WriteLine(Enum.GetUnderlyingType(typeof(EmployeeType)));
 }

}

 </source>


Enum.IsDefined

<source lang="csharp"> using System; enum Color {

   red,
   green,
   yellow

} public class MainClass {

   public static void Main()
   {
       
       
       bool defined = Enum.IsDefined(typeof(Color), 5);
       Console.WriteLine("5 is a defined value for Color: {0}", defined);    
       
   }

}


 </source>


Enum.Parse

<source lang="csharp">

using System; enum Color {

   red,
   green,
   yellow

} public class MainClass {

   public static void Main()
   {
       Color c = Color.red;
       
       // 
       c = (Color) Enum.Parse(typeof(Color), "Red", true);
       Console.WriteLine("string value is: {0}", c);
       
   }

}

 </source>