- 浏览: 190031 次
- 性别:
- 来自: 深圳
文章分类
最新评论
一、类型转换
1.任何类型都可以转换为其基类类型,用隐式转换完成;
2.任何类型转换为其派生类型时,必须进行显示转换。如:(类型名)对象名;
3.使用GetType可以取得任何对象的精确类型;
4.基本类型可以使用Convert类实现类型转换;
5.除了string以外的其他类型都有Parse方法,用于将字符串类型转换成对应的基本类型;
6.值类型和引用类型的转换称为装箱(boxing)或拆箱(unboxing);
二、is/as示例
is转换规则:
1. 检查对象类型的兼容性,并返回结果true(false);
2.不会抛出异常;
3.如果对象为null,刚返回false;
示例:
as转换规则:
1.检查对象类型的兼容性,并返回转换结果,如果不兼容则返回null;
2.不会抛出异常;
3.如果结果判断为空,则强制执行类型转换将抛出NullReferenceException异常;
示例:
注:as比is少执行一次兼容性检查,性能可能会高一点点
1.任何类型都可以转换为其基类类型,用隐式转换完成;
2.任何类型转换为其派生类型时,必须进行显示转换。如:(类型名)对象名;
3.使用GetType可以取得任何对象的精确类型;
4.基本类型可以使用Convert类实现类型转换;
5.除了string以外的其他类型都有Parse方法,用于将字符串类型转换成对应的基本类型;
6.值类型和引用类型的转换称为装箱(boxing)或拆箱(unboxing);
二、is/as示例
is转换规则:
1. 检查对象类型的兼容性,并返回结果true(false);
2.不会抛出异常;
3.如果对象为null,刚返回false;
示例:
C#代码
- object o = "abc";
- if (o is string) //执行第一次类型兼容性检查
- {
- string s = (string)o; //执行第二次类型兼容性检查,并转换
- MessageBox.Show("转换成功!");
- }
- else
- {
- MessageBox.Show("转换失败!");
- }
as转换规则:
1.检查对象类型的兼容性,并返回转换结果,如果不兼容则返回null;
2.不会抛出异常;
3.如果结果判断为空,则强制执行类型转换将抛出NullReferenceException异常;
示例:
C#代码
- object o = "abc";
- string s = o as string; //执行第一次类型兼容性检查,并返回结果
- if (s != null)
- MessageBox.Show("转换成功!");
- else
- MessageBox.Show("转换失败!");
注:as比is少执行一次兼容性检查,性能可能会高一点点
发表评论
文章已被作者锁定,不允许评论。
-
使用SignalR构建一个最基本的web聊天室
2015-01-06 15:09 770使用SignalR,可以使用服务器消息推送到客户端,件demo ... -
Cookie小知识
2014-12-17 11:02 600如果cookie设置了过期时间,cookie就会保存在硬盘中 ... -
远程服务器返回错误: (500) 内部服务器错误 (解决方案)
2013-12-19 18:00 14187“/”应用程序中的服务器错误。 远程服务器返回错误: ... -
C# 的异步get 的三种方法
2013-06-21 16:04 971using System;using System.Colle ... -
ado.net 连接池相关知识
2013-01-27 20:07 846using System;using System.Coll ... -
c# 验证码生成与使用
2012-10-07 14:37 914---生成验证码的类 using System;using ... -
多线程的理解
2012-09-21 00:31 725什么是多线程:多线程就是“同时”可以执行多个任务,实际上并不是 ... -
委托:委托、事件与Observer设计模式
2012-09-20 23:10 949上面的例子已不足以再进行下面的讲解了,我们来看一个新的范例,因 ... -
委托:将方法绑定到委托
2012-09-20 22:59 805将方法绑定到委托 看到这里,是不是有那么点如梦初醒的感觉?于 ... -
委托:将方法做为方法的参数
2012-09-20 22:51 735引言 委托 和 事件在 .Net Framework中的应用 ... -
C#,FTP上传的代码 FtpWebRequest
2012-08-24 22:46 965private void Upload(string file ... -
c#之冒泡法与快速法排序
2012-08-08 22:10 744设计页面labe1 ,label2 ,label5分 ... -
C#中数组类型的相互转换
2012-08-08 22:11 1557string数组类型转换为int数组.方法一:Con ... -
C#中基类和派生类的构造函数以及变量的执行顺序整理
2012-04-04 22:54 1106Code highlighting produced by A ... -
时间处理类
2012-03-01 11:10 730/// <summary> /// ... -
DropDownList 小知识
2011-12-03 10:24 873给DropDownList 绑定值后,如果要默认选中其中一个 ... -
列表最后一行加小计或总计 ——小总结
2011-11-30 16:56 17731.所有分页的总计 protec ... -
无法加载协定为“tt.WeatherWebServiceSoap”的终结点配置部分,因为找到了该协定的多个终结点配置。请按名称指示首选的终结点配置部分。
2011-11-22 22:08 3832无法加载协定为“tt.WeatherWebServiceSoa ... -
一个天气预报的webservice
2011-11-21 20:45 1061http://www.webxml.com.cn/WebSer ... -
asp.net 页面生成html页面 方法二
2011-11-15 22:53 985protected override void Render ...
相关推荐
本文将深入探讨 `as` 和 `is` 这两个关键字的使用方法及其应用场景,帮助开发者更好地理解和掌握这两种类型的转换。 #### `as` 关键字 `as` 关键字用于执行类型转换,并且不会抛出异常。当转换失败时,`as` 会返回...
在C#编程语言中,`is` 和 `as` 关键字是用于类型转换的两种常见方式,它们各自有特定的用途和优缺点。本文将深入解析这两种关键字的用法,并通过实例分析来帮助理解。 1. `is` 关键字: `is` 关键字用于检查一个...
在程序中,进行类型转换是常见的事,C#支持基本的强制类型转换方法,例如: Object obj1 = new NewType(); NewType newValue = (NewType)obj1; 这样强制转换的时候,这个过程是不安全的,因此需要用try-catch语句...
在C#编程语言中,`is` 和 `as` 关键字用于处理对象类型的转换,它们各有特点,但有着明显的区别。以下是对这两个关键字的详细分析: **C# 类型转换** C# 中的类型转换分为显式和隐式转换。显式转换,也称为强制...
在C#编程语言中,`is`和`as`运算符是进行类型检查和类型转换的重要工具。本文将深入解析这两个运算符的工作原理、用法以及它们之间的区别。 首先,`is`运算符用于判断一个对象是否可以被转换为指定的类型。其基本...
【描述】:在“NIIT ISAS项目”中,重点内容围绕着微软的MS .NET Development Tools展开,涵盖了该平台的各个方面,包括但不限于C#编程语言、ASP.NET框架、Visual Studio IDE以及.NET Framework的最新版本特性。...
此外,模式匹配和is/as运算符在类型转换方面提供了安全高效的方式。 最后,C# 9.0文档会探讨C#中的编译器中的重大更改,并提供版本历史记录,以便开发者了解各个C#版本之间的差异。语言与框架之间的关系也被清晰地...
- **命名空间**:介绍命名空间的作用和使用方法。 - **基本类型**:列举并解释了C#中的基本数据类型。 - **类**:涵盖类的定义、使用及其成员(如属性、方法)。 - **析构元组和其他类型**:探讨了C#中元组的使用,...
3. **类型转换**(使用`as`关键字): 当确定`c`是`CheckBox`类型后,使用`as`关键字将其转换为`CheckBox`类型,以便访问`CheckBox`特有的属性和方法。这里`cb`变量存储了转换后的CheckBox实例。 4. **状态检查**(`if ...
### C#开发与使用中的23个技巧详解 #### 技巧一:定制DataGrid列标题 ...以上技巧涵盖了C#开发中常见问题的解决方法,包括界面元素控制、数据库交互、数据处理等方面,有助于提升开发效率和代码质量。
理解CORS策略和使用方法至关重要。 9. 对象初始化和构造函数:不恰当的初始化顺序或依赖注入可能导致对象状态不一致。了解构造函数的工作原理,以及如何利用构造函数初始化器和属性初始化器,可以帮助避免这些问题...
在Java中,方法声明可以带有public修饰符(即使这并非必要),但在C#中,显式为接口的方法指定public修饰符是非法的。 枚举器:C#中的is操作符与Java中的instanceof操作符一样,两者都可以用来测试某个对象的实例...
C#中的关键字 C#语言中有多种关键字,用于定义类、方法、变量、语句等各种语言元素。在本文中,我们将对C#中的关键字...C#中的关键字都是语言的基本组成部分,正确地使用这些关键字是编写高效、可读性强的代码的基础。
10. 显式类型转换:"as"关键字用于显式转换,注意这与VB中的用法有区别。 11. 获取类型信息:"typeof"运算符用于获取对象的类型信息。 12. 赋值运算符重载:C#不支持重载"="运算符,而在C++中是允许的。 这些对比...
这篇总结将详细介绍如何在C#中使用NPlot库进行绘图,并涵盖其主要功能,包括网格、标签、图例和箭头符号等。 首先,让我们了解NPlot的基本使用。安装NPlot库可以通过NuGet包管理器进行,搜索"NPlot"并添加到项目中...
在C#编程语言中,`as`...总结,`as`运算符在C#中提供了一种安全、非侵入式的类型转换方式,尤其适合处理可能的`null`值和在运行时类型不确定的对象。了解并适当地使用`as`运算符,可以使你的C#代码更加健壮和易读。
18. C#中方法的改写有两种情况,分别是使用`override`修饰符和`new`修饰符改写方法,前者表示覆盖基类方法,后者表示隐藏基类方法。 19. 在C#中,事件机制是通过委托(Delegate)来完成的。定义委托的关键字是`...