主页 > 软件开发  > 

C#中使用as关键字将对象转换为指定类型

C#中使用as关键字将对象转换为指定类型

目录

一、定义

二、示例

三、生成


        使用as关键字可以将对象转换为指定类型,与is关键字不同,is关键字用于检查对象是否与给定类型兼容,如果兼容则返回true,如果不兼容则返回false。而as关键字会直接进行类型转换,如果转换成功将会返回转换后的对象,如果转换不成功则不会抛出异常而是返回NULL。

一、定义

        as关键字用于引用类型之间执行转换。

        as关键字与is关键字一样都不会抛出异常,但是相比之下as关键字要更方便一些。

二、示例

        首先创建一个字符串对象,然后将字符串对象隐式转换为object类型的对象Temp_obj,使用as关键字将Temp_obj转换为字符串对象,最后检查字符串对象是否为空。如果为空,则转换不成功;如果不为空,则转换成功并执行后面的语句块。

// 使用as关键字将对象转换为指定类型 namespace _026 { public partial class Form1 : Form { private GroupBox? groupBox1; private RadioButton? radioButton3; private RadioButton? radioButton2; private RadioButton? radioButton1; private Label? label1; private Button? button1; public Form1() { InitializeComponent(); Load += Form1_Load; } private void Form1_Load(object? sender, EventArgs e) { // // label1 // label1 = new Label { AutoSize = true, Location = new Point(29, 21), Name = "label1", Size = new Size(43, 17), TabIndex = 0, Text = "将FileStream对象转换为:" }; // // radioButton1 // radioButton1 = new RadioButton { AutoSize = true, Location = new Point(180, 17), Name = "radioButton1", Size = new Size(102, 21), TabIndex = 1, TabStop = true, Text = "转换为object类型", UseVisualStyleBackColor = true }; // // radioButton2 // radioButton2 = new RadioButton { AutoSize = true, Location = new Point(180, 41), Name = "radioButton2", Size = new Size(102, 21), TabIndex = 2, TabStop = true, Text = "转换为Stream类型", UseVisualStyleBackColor = true }; // // radioButton3 // radioButton3 = new RadioButton { AutoSize = true, Location = new Point(180, 65), Name = "radioButton3", Size = new Size(102, 21), TabIndex = 3, TabStop = true, Text = "转换为String类型", UseVisualStyleBackColor = true }; // // groupBox1 // groupBox1 = new GroupBox { Location = new Point(0, 1), Name = "groupBox1", Size = new Size(354, 103), TabIndex = 0, TabStop = false, Text = "类型转换" }; groupBox1.Controls.Add(radioButton3); groupBox1.Controls.Add(radioButton2); groupBox1.Controls.Add(radioButton1); groupBox1.Controls.Add(label1); groupBox1.SuspendLayout(); // // button1 // button1 = new Button { Location = new Point(137, 110), Name = "button1", Size = new Size(75, 23), TabIndex = 0, Text = "转换类型", UseVisualStyleBackColor = true }; button1.Click += Button1_Click; // // Form1 // AutoScaleDimensions = new SizeF(7F, 17F); AutoScaleMode = AutoScaleMode.Font; ClientSize = new Size(354, 141); Controls.Add(button1); Controls.Add(groupBox1); Name = "Form1"; StartPosition = FormStartPosition.CenterScreen; Text = "as关键字转换类型"; groupBox1.ResumeLayout(false); groupBox1.PerformLayout(); } private void Button1_Click(object? sender, EventArgs e) { if (radioButton1!.Checked) //选择转换为object类型 { using FileStream Temp_filestream = //创建文件流对象 new(@"d:\log.txt", FileMode.Create); if (Temp_filestream != null) //判断转换是否成功 { MessageBox.Show("转换为Object成功!", "提示!"); } else { MessageBox.Show("转换为Object失败!", "提示!"); } } if (radioButton2!.Checked) //选择转换为stream类型 { using FileStream Temp_filestream = //创建文件流对象 new(@"d:\log.txt", FileMode.Create); object Temp_obj = Temp_filestream; if (Temp_obj as Stream != null) //判断转换是否成功 { MessageBox.Show("转换为Stream成功!", "提示!"); } else { MessageBox.Show("转换为Stream失败!", "提示!"); } } if (radioButton3!.Checked) //选择转换为string类型 { using FileStream Temp_filestream = //创建文件流对象 new(@"d:\log.txt", FileMode.Create); object Temp_obj = Temp_filestream; if (Temp_obj as string != null) //判断转换是否成功 { MessageBox.Show("转换为String成功!", "提示!"); } else { MessageBox.Show("转换为String失败!", "提示!"); } } } } } 三、生成

 

 

 

标签:

C#中使用as关键字将对象转换为指定类型由讯客互联软件开发栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“C#中使用as关键字将对象转换为指定类型