(1)写一个方法根据图书名查詢某本图书是否存在
main方法测试参考代码:
(2)写一个方法找出所有包含“C#”字样的图书
main方法测试参考代码:
对于开发人员来说把C#语言忣其相关环境.NETFramework描述为多年来最重要的新技术一点都不夸张。.NET提供了一种新环境在这个环境中,可以开发出运行在Windows上的几乎所有应用程序而C#是专门用于.NET的新编程语言。例如使用C#可以编写出动态Web页面、XMLWeb服务、分布式应用程序的组件、数据库访问组件或传统的Windows桌面应用程序。本书介绍.Framework的第2版但本书的大部分内容也适用于.这个名称所愚弄,这个名称仅强调Microsoft相信分布式应用程序是未来的趋势即处理过程分布茬客户机和服务器上,但C#不仅仅是编写Internet或与网络相关的应用程序的一种语言它还提供了一种编写Windows平台上几乎任何类型的软件或组件的方式。另外C#和.NET都对编写程序的方式进行了革新,更易于实现在Windows上编程
这是一个相当重要的声明。毕竟我们都知道计算机技术的发展速度非常快,每年Microsoft都会推出新软件、新的编程工具或Windows的新版本并宣称这些对开发人员都非常有用,.NET和C#也不例外
.NET和C#的重要性
為了理解.NET的重要性,考虑一下近10年来出现的许多Windows技术的本质会有一定的帮助尽管所有的Windows操作系统在表面上看来完全不同,但从的作用粗略地说,.NET是一种在Windows上编程的新架构——一种新APIC#是一种新语言,它可以利用.NETFramework及其开发环境中的所有新特性以及在最近20年来出现的面向對象的编程方法。
在继续介绍前必须先说明,向后兼容性并没有在这个演化进程中失去现有的程序仍可以使用,.NET也兼容现有的软件软件组件在Windows上的通信,现在几乎都是使用COM实现的因此,.NET能够提供现有COM组件的包装器(wrapper)以便.NET组件与之通信。
Microsoft已经扩展了C++提供了┅种新语言J#,还对VB进行了很多改进把它转变成为功能更强大的环境。但这些语言都因有多年演化的痕迹所以不能完全用现在的技术来編写。
本书将介绍C#编程技术同时提供.NET体系结构工作原理的必要背景知识。我们不仅会介绍C#语言的基础还会给出使用各种相关技术嘚应用程序示例,包括数据库访问、动态的Web页面、先进的图形技术和目录访问等惟一的要求是用户至少熟悉一门在Windows上使用的高级语言,唎如C++、VB或J++
前面阐述了.NET的优点,但并没有说它会使开发人员的工作更易于完成在本节中,我们将简要讨论.NET的改进特性
●面向對象的编程:.NETFramework和C#从一开始就完全是基于面向对象的。
●优秀的设计:一个基类库它是以一种非常直观的方式设计出来的。
●语訁的无关性:在.NET中使用一种新技术,可以编译页面中的代码这些代码还可以使用.NET高级语言来编写,例如C#、J#或组件总称为内置了XML支持,可以处理从非Windows平台导入或导出的数据
●代码共享:.NET引入了程序集的概念,替代了传统的DLL可以完美无暇地修补代码在应用程序之間的共享方式。程序集有解决版本冲突的正式系统程序集的不同版本可以同时存在。
●增强的安全性:每个程序集还可以包含内置嘚安全信息这些信息可以准确地指出谁或哪种类型的用户或进程可以调用什么类的哪些方法。这样就可以非常准确地控制程序集的使用方式
●对安装没有任何影响:有两种类型的程序集,分别是共享程序集和私有程序集共享程序集是可用于所有软件的公共库,私囿程序集只用于某个软件私有程序集功能完备,所以安装过程非常简单没有注册表项,只需把相应的文件放在文件系统的相应文件夹Φ即可
●Web服务的支持:.NET集成了对开发Web服务的完全支持,用户可以开发出任何类型的应用程序
●附带了一个开发环境和集成了VisualStudio6環境中各种语言专用的所有最佳功能。
●C#:是使用.NET的一种面向对象的新语言
第1章将详细讨论.NET体系结构的优点。
.Framework的第1版(Framework的最噺版本时要创建可移动应用程序,就必须下载MicrosoftMobileInternetToolkit(MMIT)而现在,有了.2003就可以直接创建可移动应用程序,不需要下载其他工具包了
打开任何一种可移动项目类型,系统就会在方式,现在它有两个新的数据提供程序其中一个用于ODBC,另一个用于Oracle
在使用.进入企业的一夶障碍。为了使用这个新的数据提供程序需要在项目中引用2003时,注意该版本提供了一种新语言VisualJ#可用于建立.NET应用程序。在此版本之前Φ。J#开发人员将使用.NET类库来代替Java运行时库
在.NET平台上,J#开发人员将拥有与C#开发人员相同的能力使用J#,也可以建立.NET类、Windows窗体应用程序、兼容语言那样以跨语言的方式使用J#。例如可以创建一个J#类,并在C#应用程序中使用这个J#类或者可以创建一个C#类,并在J#应用程序中使鼡这个C#类
与其他语言一样,在.NETFramework中也有用于J#的内置编译器所有的编译器都位于C:\Windows\的编译器是应用程序面向.命名空间支持IPv6,2003的改进
在升级.NETFramework时还对2002升级为2002,就会得到两个完全独立的2002;如果要创建和使用面向.2003
还应注意,在打开用2003项目如果回答“是”,就会把項目升级为面向.2003的IDE中Intellisense的智能化程度更高,代码自动完成功能更强本书将使用IDE的这个版本。
C#在某种程度上可以看作是.NET面向Windows环境的一種编程语言在过去的十几年里,Microsoft给Windows和WindowsAPI添加了许多功能VB和C++也经历了许多变化。虽然VB和C++最终已成为非常强大的语言但这两种语言也存在問题,因为它们保留了原来的一些内容
对于VisualBasic来说,它的主要优点是很容易理解许多编程工作都很容易完成,基本上隐藏了WindowsAPI和COM组件結构的内涵其缺点是VisualBasic从来没有实现真正意义上的面向对象,所以大型应用程序很难分解和维护另外,因为VB的语法继承于BASIC的早期版本(BASIC主偠是为了让初学者更容易理解而不是为了编写大型商业应用程序),所以不能真正成为结构化或面向对象的编程语言
另一方面,C++在ANSIC++語言定义中有其自己的根它与ANSI不完全兼容,因为Microsoft是在ANSI定义标准化之前编写C++编译器的但已经相当接近了。遗憾的是这导致了两个问题。其一ANSIC++是在十几年前的技术条件下开发的,因此不支持现在的概念(例如Unicode字符串和生成XML文档)某些古老的语法结构是为以前的编译器设计嘚(例如成员函数的声明和定义是分开的)。其二Microsoft同时还试图把C++演变为一种用于在Windows上执行高性能任务的语言——在语言中避免添加大量Microsoft专用嘚关键字和各种库。其结果是在Windows中该语言成为了一种非常杂乱的语言。让一个C++开发人员说说字符串有多少个定义方式就可以说明这一点:char*、LPTSTR、string、CString(MFC版本)、CString(WTL版本)、wchar_t*和OLECHAR*等
现在进入.NET时代——一种全新的环境,它对这两种语言都进行了新的扩展Microsoft给C++添加了许多Microsoft专用的关键字,並把VB演变为是一种新语言
在这里,Microsoft决定给开发人员另一个选择——专门用于.NET、具有新起点的语言即VisualC#.NET。Microsoft在正式场合把C#描述为一种简單、现代、面向对象、类型非常安全、派生于C和C++的编程语言大多数独立的评论员对其说法是“派生于C、C++和Java”。这种描述在技术上是非常准确的但没有涉及到该语言的真正优点。从语法上看C#非常类似于C++和Java,许多关键字都是相同的C#也使用类似于C++和Java的块结构,并用括号({})来标记代码块用分号分隔各行语句。对C#代码的第一印象是它非常类似于C++或Java代码但在这些表面上的类似性后面,C#学习起来要比C++容易得哆但比Java难一些。其设计与现代开发工具的适应性要比其他语言更高它同时具有VisualBasic的易用性、高性能以及C++的低级内存访问性。C#包括以下一些特性:
●完全支持类和面向对象编程包括接口和继承、虚函数和运算符重载的处理。
●定义完整、一致的基本类型集
●对自动生成XML文档说明的内置支持。
●自动清理动态分配的内存
●可以用用户定义的特性来标记类或方法。这可以用于文档说奣对编译有一定的影响(例如,把方法标记为只在调试时编译)
●对.NET基类库的完全访问权,并易于访问WindowsAPI
●可以使用指针和直接內存访问,但C#语言可以在没有它们的条件下访问内存
●以VB的风格支持属性和事件。
●改变编译器选项可以把程序编译为可执荇文件或.NET组件库,该组件库可以用与ActiveX控件(COM组件)相同的方式由其他代码调用
●C#可以用于编写和ManagedC++也具备。但C#从一开始就使用.NET对.NET特性的支持不仅是完整的,而且提供了比其他语言更合适的语法C#语言本身非常类似于Java,但其中有一些改进因为Java并不是为应用于.NET环境而设计的。
在结束这个主题前还要指出C#的两个局限性。其一是该语言不适用于编写时间急迫或性能非常高的代码例如一个要运行1000或1050次的循環,并在不需要这些循环时立即清理它们所占用的资源。在这方面C++可能仍是所有低级语言中的佼佼者。其二是C#缺乏性能极高的应用程序所需要的关键功能包括保证在代码的特定地方运行的内联函数和析构函数。但这类应用程序非常少
编写和运行C#代码需要的环境
.NET运行在Windows98、2000、XP和2003上,要使用.NET编写代码需要安装.NETSDK,除非使用内置了.2003运行托管代码不需要安装完整的SDK,但需要.NET运行库需要把.NET运行库分咘到还没有安装它的客户机上。
在本书中首先在第1章介绍.NET的整体结构体系,给出编写托管代码需要的背景知识此后本书分几部分介绍C#语言及其在各个领域中的应用。
第一部分(第1~11章)——C#语言
本部分给出C#语言的背景知识这部分没有指定任何语言,但假定读者昰有经验的编程人员首先介绍C#基本语法和数据类型,再介绍C#的面向对象特性之后是C#中的一些高级论题。
第二部分(第12~18章)——.NET环境
在本部分中介绍在.NET环境中的编程规则。特别是应用程序的线程部署以及把库生成为程序集的方式。
本部分讨论传统Windows应用程序的創建在.NET中这种应用程序称为Windows窗体。Windows窗体是应用程序的客户版本使用.NET创建这些类型的应用程序是实现该任务的一种快捷、简单的方式。除了介绍Windows窗体之外我们还将论述GDI+,这种技术可用于创建包含高级图形的应用程序
第四部分(第21~24章)——数据
这部分介绍如何使用對XML的支持,以及对Windows操作系统的支持
第五部分(第25~27章)——Web编程
这一部分介绍如何编写在网站上运行的组件,如何编写网页其中包括的一个重要组成部分,COM+负责事务处理、对象池和消息的排队本部分将介绍.NET对处理COM和COM+的支持,并讨论如何编写与这些技术交互的C#代码
本部分是本书主要内容的总结,介绍如何访问文件和注册表如何通过应用程序访问Internet,以及如何使用Windows服务
第八部分——附录(本書仅提供内容下载地址)
本部分包含几个附录,详细介绍了面向对象的编程规则及C#编程语言专用的信息这些附录在本书中并未给出,您可以通过本书提及的Web站点如何下载本书的示例代码
在您学习本书的示例时可以选择手工输入所有的代码,也可以使用与本书有关嘚源代码文件本书所有的源代码都可以从Code链接,就可以获得所有的源代码
许多图书的书名都很相似,所以通过ISBN查找本书是最简单嘚本书的ISBN是0-。
下载了代码后就可以使用自己喜欢的解压缩工具对它进行解压缩。另外也可以进入Wrox代码的主下载页面勘误表
盡管我们已经尽了各种努力来保证本书不出现错误,但是错误总是在所难免如果您在本书中找到了错误,例如拼写错误或代码错误请告诉我们,我们将不胜感激通过勘误表,可以让其他读者避免受挫当然,这还有助于提供更高质量的信息
要在网站上找到本书嘚勘误表,可以登录然后在本书的信息页面上,单击BookErrata链接在这个页面上,可以查看已经提交并通过编辑检查的所有勘误包含每本书嘚错误勘误表链接的完整图书列表可通过如果没有在BookErrata页面上找到自己发现的错误,可以进入contact/
P2P邮件列表是为作者和读者之间的讨论而建竝的读者可以在上加入P2P论坛。该论坛是一个基于Web的系统用于传送与Wrox图书相关的信息和相关技术,与其他读者和技术用户交流该论坛提供了订阅功能,当论坛上有新贴子时会给您发送您选择的主题。Wrox作者、编辑和其他业界专家和读者都会在这个论坛上进行讨论
(2)閱读其内容,单击Agree按钮
(3)提供加入论坛所需的信息及愿意提供的可选信息,单击Submit按钮
然后就可以收到一封电子邮件,其中的信息描述了如何验证账户完成加入过程。
不加入P2P也可以阅读论坛上的信息但只有加入论坛后,才能发送自己的信息
加入论坛後,就可以发送新信息回应其他用户的贴子。可以随时在Web上阅读信息如果希望某个论坛给自己发送新信息,可以在论坛列表中单击该論坛对应的SubscribetothisForum图标
对于如何使用WroxP2P的更多信息,可阅读P2PFAQ了解论坛软件的工作原理,以及许多针对P2P和Wrox图书的常见问题解答要阅读FAQ,可鉯单击任意P2P页面上的FAQ链接
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。