版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
DEV407:.NETFramework:基本类库深入探讨
TechnicalSpecialistMicrosoft(China)议题介绍基本数据类型字符串规则表达式CollectionsIO序列化介绍WindowsCOM+ServicesCommonLanguageRuntimeBaseClassLibraryADO.NETandXMLASP.NETWindowsFormsCommonLanguageSpecificationVBC++C#JScript…VisualStudio.NET.NET统一的编程模型WindowsAPI.NETFramework一致可用的API,而与语言和编程模型无关ASP无状态的,代码嵌入在HTML页面中MFC/ATL子类,强大的和丰富的VBObject
Model快速开发,创作和委派介绍基本类库的目的:支持Framework提供通用,众所周知的功能使用简单强大的并且灵活议题介绍字符串规则表达式CollectionsIO序列化基本数据类型System基本数据类型
格式化和解析影响所有基本数据类型通过ToString和Parse支持格式化是自动认知场景(locale-aware)Thread.CurrentThread.CurrentCulture通过IFormatProviders支持控制格式化通用格式化提供者包括CultureInfo,DateTimeFormatInfo,和NumberFormatInfo基本数据类型
格式化:实例(片断)Doubled=123.4;//流通符号,“$123.40”(inen-US)label2.Text=d.ToString("c");//工程符号,“1.234000e+002”label3.Text=d.ToString(“e");DateTimedt=DateTime.Now;//Pictureformatting,“19Jun2001”(inen-US)label6.Text=dt.ToString(“ddMMMyyyy");//日期格式,“6/19/20016:35:09PM”label4.Text=dt.ToString();格式化这个例子着重强调了在Framework中格式化是多么的强大和简单生成字符串串联是非常普遍的String.Concat(strA,strB,strC)strA&strB&strCStrings是不可改变的使用StringBuilder增加字符串转换函数返回一个新的字符串(e.g.,ToUpper,ToLower,Trim)s.Trim().ToUpper().Equals(k.Trim().ToUpper())字符串比较顺序的(culturally-ignorant)和感知当地文化的(culturally-aware)比较CompareOrdinal和Equals是顺序的Compare是culturally-aware对于包装全球化的功能非常有益在Win9x,Windows2000andNT4平台上通用的比较数据的方法字符串格式化为输出和显示给用户的目的需要格式化字符串控制格式,宽度,填充,对齐方式用picturestring或者代码来确定格式String.Format(“Pleaseorder{0}widgetsat{1}each.”,numWidgets,price)String.Format(“{0,10:##00.00}”,f)Console.WriteLine(“{0:U}”,DateTime.Now)规则表达式(RegularExpressions)支持匹配和替换的能力匹配‘ThisexampleisamatchRegex.IsMatch(“AcmeCorp.”,”.*e.*p”)替换‘thisexamplechanges‘allinall’to‘anyinany’Regex.Replace("allinall","(?<char>\w)\k<char>","ny")规则表达式(RegularExpressions)执行模式解释Regexre=newRegex(“.*e.*n”)re.IsMatch(“AcmeCorporation”)编译Regexre=newRegex(“.*e.*n”,RegexOptions.Compiled)Compiledformisexpensivetocreate只能被用于静态议题介绍基本数据类型字符串规则表达式IO序列化CollectionsSystem.CollectionsCollections.NETFramework提供一些通用的collectionsStack,Queue(ICollection)Array,ArrayList(IList)Hashtable(IDictionary)使用一个ArrayList(IList)list[5]=“Mystringdata”;
Strings=(String)list[5];使用一个Hashtable(IDictionary)table[MyDataKey]=MyDataObject;
DatadataObj=(Data)table[MyDataKey];Collections
枚举所有的collectionssupportgetting
anIEnumeratorEnumeratorscanbestronglytyped简单 DimbAsButton ForEachbinMyButtonList
Console.WriteLine(b) Nextb枚举的性能非常出色StronglyTypedCollectionsTreatgenericallybyinterfaceorspecificallybytypePrivateinterfaceimplementationenablesstrongly-typedcollections
publicclassButtonList:IList{ publicintAdd(Buttonbutton)…
intIList.Add(Objectobj)…
}Strong-typingprovidestype-checking,andself-documentationAlthoughyoucanimplementICollection,inheritingCollectionBaseisalsoanoptionCollections议题介绍基本数据类型字符串规则表达式Collections序列化IOSystem.IOIO例子
写到文件//在写模式下打开一个并且包装他到一个StreamWriter
StreamWriterwriter=
(“C:\\Temp\\Foo.Bar”);//写一个String和一个double,这些在Stream上将会作为UTF8编码文本
writer.WriteLine(“Hello,World!”);
writer.WriteLine(3.1415926535);//关闭StreamWriter和下面的Stream
writer.Close();(String,String)Directory.Delete(String)IO文件和目录Path.GetFullPath(String)文件和目录的操纵分成:,文件和目录的操纵的例子,静态操纵文件和目录的操纵的例子Path,静态操纵路径(String)DirectoryInfo.Delete()序列化System.Runtime.Serialization议题介绍基本数据类型字符串规则表达式CollectionsIO序列化(Serialization)存储一个对象的图表到一个stream中以备后来的重新实例化完全自动化系统跟踪和恢复对象数据并且在对象之间连接支持所有的对象类型ISerializable允许用户控制可插入格式器架构定义你自己的格式序列化
ISerializable对默认的序列化下列情况使用默认序列化:Aclasscanbeserialized‘asis’Nospecificprocessneedstooccurforserialization/deserializationYoucaneasilymarkitemsnottobeserializedusingtheNonSerializedAttribute下列情况实现ISerializable:对象需要控制他们自己的序列化序列化
代码例子非序列化DimsAsStream‘reopentheserializedfileDimsfAsSoapFormatter=NewSoapFormatterDimalAsArrayList=CType(sf.Deserialize(s),ArrayList)序列化DimsAsStream‘openandcreateaserializealsoDimsfAsSoapFormatter=NewSoapFormatterDimalAsNewArrayList‘populatewithobje
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 企业安全管理体系建立及实施指导模板
- IT项目管理流程标准化工具集
- 2026河南洛阳兆格环保科技有限公司招聘2人笔试参考试题及答案解析
- 企业安全管理制度标准化手册安全风险防控与处置
- 2026年合肥中国电子科技集团第八研究所劳务派遣电修工招聘考试备考试题及答案解析
- 2026陕西师范大学食品工程与营养科学学院教学科研人员补充计划2人考试备考题库及答案解析
- 产品质量检验标准流程模板全流程覆盖
- 2026浙江交工集团股份有限公司招聘3人考试参考试题及答案解析
- 2026年上半年江西省城乡规划市政设计研究总院有限公司校园招聘考试2人考试参考试题及答案解析
- 电子设备维修基础知识手册
- 游乐设施安全管理台账范本
- 2026贵州遵义市部分市直机关事业单位招聘编外人员(驾驶员岗位)12人笔试备考试题及答案解析
- 通信行业市场营销策略指南(标准版)
- 湖北省恩施市2025-2026学年上学期期末七年级数学试卷(无答案)
- 2026届北京市朝阳区高三上学期期末质量检测历史试题(含答案)
- (正式版)DB44∕T 2786-2025 《旅居养老服务规范》
- 颅内高压课件
- 病理学基础课件
- 《三笔字与教师板书课件艺术教程》项目9钢笔书法创作
- DB37∕T 4855-2025 海洋污染物毒性分析用 模式鱼种 海水青鳉世代培育技术规范
- 2026年调解员岗位高频面试题
评论
0/150
提交评论