网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > C#应用
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.分享动态生成文字图片解决方案.
.C#3.0 LINQ 查询语法.
.C#位图处理指针问题.
.Visual c#的Excle编程.
.在指定应用程序域中执行代码.
.了解c#2.0中的Anonymous Methods.
.采用C#泛型实现数据库之间的切换.
.基于Remoting透明代理的AOP组件.
.教你如何快速捕获.NET代码中隐藏.
.借用VB的My,C#照样条条大路通罗.
.在C#中动态调用native dll的导出.
.将PUBS中的所有用户表内容分别用.
.c#中的委托和事件的简单实例.
.给大家一个新的加密方法,C#的.
.C# Socket编程.
.用C#对DBF数据库的操作.
.图片保存到数据库和从数据库读取.
.用C#.NET实现拖放操作.
.在C#.net中将查询数据导入EXCEL表.
.用Visual C#来清空回收站(2).

在C#中使用可空类型

发表日期:2006-4-11


可空类型是System.Nullable结构体的实列。一个可空类型代表了相应值类型的正确范围附加null值。例如Nullable<Int32>的取值范围应该是-2147483648到2147483647外加null。Null<bool>的取值为true,false和null。这种方法一般在处理数据库的时候用到,因为数据库里面可能含有没有赋值的值类型。

class NullableExample
{
    static void Main()
    {
        int? num = null;
        if (num.HasValue == true)
        {
            System.Console.WriteLine("num = " + num.Value);
        }
        else
        {
            System.Console.WriteLine("num = Null");
        }

        // y将会被设置“0”。
        int y = num.GetValueOrDefault();

    // 如果num.HasValue为空,那么num.Value将会抛出InvalidOperationException异常。
        try
        {
            y = num.Value;
        }
        catch (System.InvalidOperationException e)
        {
            System.Console.WriteLine(e.Message);
        }
    }
}
输出的结果:
num = Null
Nullable object must have a value.

可空类型具有如下的属性:
·可空类型只能应用于值类型,引用类型因为已经支持了null而不能被使用。
·T?是System.Nullable<T>的缩写,这里T是一个值类型。这两种格式是可以互换的。
·可以像使用普通类型一样使用可空类型。例如int? x = 10;或者double? d = 40108;
·使用System.Nullable.GetValueOrDefault还获得值,或者当它为空的时候获得默认值。
·使用HaseValue和Value只读属性来测试它是不是空并且返回相应的非空值。
    ·如果含有值那么HaseValue返回真,否则返回假。
    ·如果含有值那么Value返回值,否则抛出System.InvalidOperationException异常。
    ·HaseValue默认值为假,Value默认为未定义。
·当向值类型获得可空类型的值得时候,使用??运算符来赋予一个可空类型一个默认值。例如:int? x = null; int y = x ?? -1;
·不可以嵌套可空类型。Nullable<Nullabel<int>> n;将会抛出异常。

上一篇:C#中屏蔽窗体关闭的消息 人气:7766
下一篇:C# Source 与VB Source 的不同 人气:6029
浏览全部C#的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐