仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 712|回复: 6
打印 上一主题 下一主题

[学习教程] ASP.NET网页设计关于C#中非可空范例的一点倡议仓酷云

[复制链接]
愤怒的大鸟 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:17:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
有个问题想请教你一下,呵呵:)你觉得将来学什么方向比较好,我真是想不出来,知道的太少了,麻烦了。假如非希冀值是成绩地点的话,那末我们就应当勉力打消它们。只管我们几近从未希冀过null(空),但是范例体系却强制我们装出一副很必要它的模样。——Craig
只管这句话已被.NET开辟者在这些年来说过有数次。但是修改此成绩并不是易事,不单单是在变量上拍个属性或其他润色那末复杂。更严格的应战之一就是,如果T为非可空援用范例的话,那末default<T>该怎样处置。Craig写道,
这里的基本成绩在于C#中根深蒂固的假定:该假定即每品种型都有默许值。试想一下:假如T没有(或大概没有取得)默许值,那末编译器在盘算default(T)、初始化范例T的字段、或初始化某个范例T的新数组中的数组项时就会无值可用。因为一谈到非可空援用范例就会触及此成绩,只管某些援用范例具有得当的非空默许值(比方非空字符串范例的默许值多是空字符串),但是关于年夜多半援用范例而言却并不是云云。试想一下:IEnumerator<int>的默许非空值是甚么?IObservable<bool>呢?UserControl呢?NetworkStream呢?谜底很复杂,它们没有任何默许非空值。而你能做的最好办法就是,给出某种仿照实例,即一旦你实验利用该实例就会招致失利……不外我们已有了那种实例,并称之为null(空)。
在题为非可空范例对C#:修改十亿美圆的毛病的文章中,Craig引进了两个新观点:


  • T!用于唆使范例T为非可空范例。这也能够用于一般范例及范例参数。
  • withdefault(T)用于把非可空援用范例参数变化为响应的可空范例参数。
如果必要构建公有字段或数组,就将其范例声明为withdefault(T),而不是范例T。然后在读取该字段或数组时,能够将其从头强迫转换非可空范例T。这类强迫转换自己是不平安的,并且倘使没有准确机关就有大概抛出非常,不外一旦成了非空,开辟者即可瓮中之鳖。要懂得如许做所发生的成果,最好仍是经由过程Craig文章中的例子来注释。
检察英文原文:AProposalforNon-NullableTypesinC#
实不相瞒,net网页编程是我见过的执行效率最低的程序设计语言,前不久在CSDN论坛上有个评测,计算9999的阶乘,同样的循环算法,net网页编程的耗时是.NET的5倍。
蒙在股里 该用户已被删除
沙发
发表于 2015-1-29 18:23:06 | 只看该作者
它可通过内置的组件实现更强大的功能,如使用A-DO可以轻松地访问数据库。
金色的骷髅 该用户已被删除
板凳
发表于 2015-2-10 08:46:42 | 只看该作者
目前在微软的.net战略中新推出的ASP.net借鉴了Java技术的优点,使用CSharp(C#)语言作为ASP.net的推荐语言,同时改进了以前ASP的安全性差等缺点。但是,使用ASP/ASP.net仍有一定的局限性,因为从某种角度来说它们只能在微软的WindowsNT/2000/XP+IIS的服务器平台上良好运行(虽然像ChilliSoft提供了在UNIX/Linux上运行ASP的解决方案.
飘灵儿 该用户已被删除
地板
发表于 2015-2-18 21:55:14 | 只看该作者
代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。
再见西城 该用户已被删除
5#
发表于 2015-3-6 11:02:51 | 只看该作者
虽然在形式上JSP和ASP或PHP看上去很相似——都可以被内嵌在HTML代码中。但是,它的执行方式和ASP或PHP完全不同。在JSP被执行的时候,JSP文件被JSP解释器(JSPParser)转换成Servlet代码,然后Servlet代码被Java编译器编译成.class字节文件,这样就由生成的Servlet来对客户端应答。所以,JSP可以看做是Servlet的脚本语言(ScriptLanguage)版。
变相怪杰 该用户已被删除
6#
发表于 2015-3-13 00:08:18 | 只看该作者
ASP.net的服务器,要求安装一个.net环境,当然我这里指的是windows系统,顺便点一下,.net只能放在windows环境里来运行。Asp.net1.1的就装Framework1.1,Asp.net2.0的就装Framework2.0。
分手快乐 该用户已被删除
7#
发表于 2015-3-20 06:26:08 | 只看该作者
提供基于组件、事件驱动的可编程网络表单,大大简化了编程。还可以用ASP.NET建立网络服务。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2025-1-26 01:11

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表