首页 【2017年整理】mvr蒸发器 运行原理

【2017年整理】mvr蒸发器 运行原理

举报
开通vip

【2017年整理】mvr蒸发器 运行原理【2017年整理】mvr蒸发器 运行原理 mvr蒸发器 运行原理 MVR是蒸汽机械再压缩技术 (mechanical bapor recompression )的简称。mvr是重新利用它自身产生的二次蒸汽的能量,从而减少对外界能源的需求的一项节能技术。早在60年代,德国和法国已成功的将该技术用于化工、食品、造纸、医药、海水淡化及污水处理等领域。 多效蒸发过程中,蒸发器某一效的二次蒸汽不能直接作为本效热源,只能作为次效或次几效的热源。如作为本效热源必须额外给其能量,使其温度(压力)提高。蒸汽喷射泵只能压缩部分...

【2017年整理】mvr蒸发器 运行原理
【2017年整理】mvr蒸发器 运行原理 mvr蒸发器 运行原理 MVR是蒸汽机械再压缩技术 (mechanical bapor recompression )的简称。mvr是重新利用它自身产生的二次蒸汽的能量,从而减少对外界能源的需求的一项节能技术。早在60年代,德国和法国已成功的将该技术用于化工、食品、造纸、医药、海水淡化及污水处理等领域。 多效蒸发过程中,蒸发器某一效的二次蒸汽不能直接作为本效热源,只能作为次效或次几效的热源。如作为本效热源必须额外给其能量,使其温度(压力)提高。蒸汽喷射泵只能压缩部分二次蒸汽,而mvr蒸发器则可压缩蒸发器中所有的二次蒸汽。 溶液在一个降膜蒸发器里,通过物料循环泵在加热管内循环。初始蒸汽用新鲜蒸汽在管外给热,将溶液加热沸腾产生二次汽,产生的二次汽由涡轮增压风机吸入,经增压后,二次汽温度提高,作为加热热源进入加热室循环蒸发。正常启动后,涡轮压缩机将二次蒸汽吸入,经增压后变为加热蒸汽,就这样源源不断进行循环蒸发。蒸发出的水分最终变成冷凝水排出 。 蒸发器其工作过程是将低温位的蒸汽经压缩机压缩,温度、压力提高,热焓增加,然后进入换热器冷凝,以充分利用蒸汽的潜热。除开车启动外,整个蒸发过程中无需生蒸汽 从蒸发器出来的二次蒸汽,经压缩机压缩,压力、温度升高,热焓增加,然后送到蒸发器的加热室当作加热蒸汽使用,使料液维持沸腾状态,而加热蒸汽本身则冷凝 成水。这样,原来要废弃的蒸汽就得到了充分的利用,回收了潜热,又提高了热效率,生蒸汽的经济性相当于多效蒸发的30效。为使蒸发装置的制造尽可能简单和操作方便,经常使用单效离心再压缩器,也可以是高压风机或透平压缩器。这些机器在1:1.2到1:2压缩比范围内其体积流量较高。对于低的蒸发速率,也可用活塞式压缩机、滑片压缩机或是螺杆压缩机。 蒸发设备紧凑,占地面积小、所需空间也小。又可省去冷却系统。对于需要扩建蒸发设备而供汽,供水能力不足,场地不够的现有工厂,特别是低温蒸发需要冷冻水冷凝的场合,可以收到既节省投资又取得较好的节能效果。 机械蒸汽再压缩的原理 由于成本原因,单级离心压缩机和高压风机被普遍用于机械蒸汽再压缩系统。因此下 述说明是针对此类设计。离心压缩机是体积控制机器,即无论吸入压力多大,体积流率几乎保持恒定。而质量流量的变化与绝对吸入压力成比例。 能量变化图 单级离心压缩机的压缩循环描绘在焓熵图中。单级离心压缩机需要的动力:。 例如:将来自蒸发器的饱和水蒸汽从吸入状态p1=1.9 bar, t1=119 ?压缩到p2= 2.7 bar, t2=161?(压缩比 Π= 1.4)。压缩循环沿着多变曲线1,2,蒸汽的比焓增加量Δhp。对于蒸汽的比焓h2,通过压缩机内效率(等熵效率)的等式:在此温度下,它进入到蒸发器的加热器。基于被吸入蒸汽的量,kg/hr。hp 单位多变(有效)压 缩功,kJ/kg。hs 单位等熵压缩功,kJ/kg。 压缩机的等熵效率(内效率)除其他因素之外,单位多变压缩功 hp取决于 mvr能流图能流图 多方指数κ和吸入气体的摩尔质量M,以及吸入温度和要求的压升。对于原动机(电动机、燃气机、涡轮机等)的实际耦合功率,考虑了更大的机械损耗余量。叶轮由 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 材料 关于××同志的政审材料调查表环保先进个人材料国家普通话测试材料农民专业合作社注销四查四问剖析材料 制造的单级离心压缩机能够获得压缩因子1.8的水蒸汽压升,如果采用钛等更高质量的材料,压缩因子可高达2.5。这样一来,最终压力p2就是吸入压力p1的1.8倍,或最大2.5倍,这对应于饱和蒸汽温度升高约12-18K,最大温升可到30K,这取决于吸入压力。就蒸发技术而言,通常的做法是根据相应的水沸点温度来表示其压力。这样,有效温差就被直接表示出来。 采用机械蒸汽再压缩的原因。 1)单位能量消耗低 2) 因温差低使产品的蒸发温和 3) 由于常用单效使产品停留时间短 4) 工艺简单,实用性强 5) 部分负荷运转特性优异 6) 操作成本低 通过使用相对少的能量,即在压缩热泵情况下的压缩机叶轮的机械能,能量被加入工艺加热介质中并进入连续循环。在此情况下,不需要一次蒸汽作为加热介质。 机械蒸汽再压缩机-设计与功能范围 用于气体压缩的机器是按照正位移原理或动力学原理来操作的。在正位移机器中,机器活动件将吸入室和压力室分隔开,操作室的体积减少而气体压力升高。在使用往复式压缩机的情况下,这样的过程通过气缸内活塞的运动来实现的。在动力式机器中,通过叶轮片高周速的旋转供给气体能量。气体首先被加速然后通过位于叶轮下游的扩散器减速。这样,高速度转化为压力能。根据流体通过叶轮的方向,将相关设备称为轴流、混流或离心式压缩机。最适用的压缩机类型取决于相关应用的操作条件。关键参数是需要达到的压升和待压缩蒸汽的流量。Π是最终压力p2与吸入压力p1的比值,定义为压缩比。由于蒸发装置经常是在真空范围内操作,加热表面负荷中等,温差小,所以通常采用离心式再压缩机。 动力式操作压缩机 混流式离心式 离心风机 单级离心压缩机 多级离心压缩机 离心压缩机的设计细节 气体出口 整体蜗壳 允许最终压力高达 进口导向叶轮 用于连续调节, 达到最大的部分载荷效率 气体入口 最高质量的小齿轮轴 确保安全操作 免维护的小齿轮轴承 具有最佳的润湿特性 坚固的齿轮箱 紧凑设计 斜齿轮 直接驱动主油泵 给轴承和齿轮提供 可靠的润滑 半开式设计的叶轮 允许每级达到 最大的压力比 技术特点: mvr原理图 1)低能耗、低运行费用; 2)占地面积小; 3)公用 工程 路基工程安全技术交底工程项目施工成本控制工程量增项单年度零星工程技术标正投影法基本原理 配套少,工程总投资少, 4)运行平稳,自动化程度高; 5)无需原生蒸汽; 6)可以在40?下蒸发而无需冷冻设备,特别适合热敏性物料。 应用推广范围: 1)蒸发浓缩 2)蒸发结晶 3)低温蒸发 技术参数: 1)蒸发一吨水需要耗电为23-70度电; 2)可以实现蒸发温度17- 40?的低温蒸发(无需冷冻水系统) 第5章 字符串 我们一直在使用字符串,C#中string关键字的映射实际上指向.NET 基类System.String。System.String是一个功能非常强大且用途非常广泛的基类,但它不是.NET中唯一与字符串相关的类。其他的用来处理字符串的.NET类还有很多,如System.Text 和 System.Text.Regular Expressions命名空间中的类等等。 一、System.String类 System.String是一个类,专门用于存储字符串,允许对字符串进行许多操作。由于这种数据类型非常重要,C#提供了它自己的关键字和相关的语法,以便于使用这个类来处理字符串。 使用运算符重载可以连接字符串: string message1 = "Hello"; //return "Hello" message1 += ", There"; // return "Hello, There " string message2 = message1 + "!"; // return "Hello, There!" C#还允许使用类似于索引器的语法来提取指定的字符: char char4 = message[4]; // returns 'a'. Note the char is zero-indexed 这个类可以完成许多常见的任务,例如替换字符、删除空白和把字母变成大写形式等。可用的 方法 快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载 如表所示。 方 法 作 用 Compare 比较字符串的内容,考虑文化背景(区域),确定某些字符是否相等 CompareOrdinal 与Compare一样,但不考虑文化背景 把多个字符串实例合并为一个实例 Concat 把特定数量的字符从选定的下标复制到数组的一个全新实例中 CopyTo 格式化包含各种值的字符串和如何格式化每个值的说明符 Format 定位字符串中第一次出现某个给定子字符串或字符的位置 IndexOf 定位字符串中第一次出现某个字符或一组字符的位置 IndexOfAny 把一个字符串实例插入到另一个字符串实例的指定索引处 Insert 合并字符串数组,建立一个新字符串 Join LastIndexOf 与IndexOf一样,但定位最后一次出现的位置 LastIndexOfAny 与IndexOfAny,但定位最后一次出现的位置 在字符串的开头,通过添加指定的重复字符填充字符串 PadLeft 在字符串的结尾,通过添加指定的重复字符填充字符串 PadRight 用另一个字符或子字符串替换字符串中给定的字符或子字符串 Replace 在出现给定字符的地方,把字符串拆分为一个子字符串数组 Split 在字符串中获取给定位置的子字符串 Substring 把字符串转换为小写形式 ToLower 把字符串转换为大写形式 ToUpper 删除首尾的空白 Trim 注意:这个表并不完整,但可以让您明白字符串所提供的功能。 1、创建字符串 如上所述,string类是一个功能非常强大的类,它执行许多很有用的方法。但是,string类存在一个问 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 :重复修改给定的字符串,效率会很低,它实际上是一个不可变的数据类型,一旦对字符串对象进行了初始化,该字符串对象就不能改变了。表面上修改字符串内容的方法和运算符实际上是创建一个新的字符串,如果必要,可以把旧字符串的内容复制到新字符串中。例如,下面的代码: string greetingText = "Hello from all the guys at Wrox Press. "; greetingText += "We do hope you enjoy this book as much as we enjoyed writing it."; 在执行这段代码时,首先,创建一个System.String类型的对象,并初始化为文本“Hello from all the guys at Wrox Press. ”。注意句号后面有一个空格。此时.NET 运行库会为该字符串分配足够的内存来保存这个文 本(39个字符),再设置变量greetingText,表示这个字符串实例。 从语法上看,下一行代码是把更多的文本添加到字符串中。实际上并非如此,而是创建一个新字符串 实例,给它分配足够的内存,以保存合并起来的文本(共103个字符)。最初的文本“Hello from all the people at Wrox Press.”复制到这个新字符串中,再加上额外的文本“We do hope you enjoy this book as much as we enjoyed writing it.”。然后更新存储在变量greetingText中的地址,使变量正确地指向新的字符串对象。旧的 字符串对象被撤销了引用—— 不再有变量引用它,下一次垃圾收集器清理应用程序中所有未使用的对象 时,就会删除它。 这本身还不坏,但假定要对这个字符串加密,在字母表中,用ASCII码中的字符替代其中的每个字母(标 点符号除外),作为非常简单的加密模式的一部分,就会把该字符串变成“Ifmmp gspn bmm uif hvst bu Xspy Qsftt. Xf ep ipqf zpv fokpz uijt cppl bt nvdi bt xf fokpzfe xsjujoh ju.”。完成这个任务有好几种方式,但最简单、 最高效的一种(假定只使用String类)是使用String. Replace()方法,把字符串中指定的子字符串用另一个子 字符串代替。使用Replace(),加密文本的代码如下所示: string greetingText = "Hello from all the guys at Wrox Press. "; greetingText += "We do hope you enjoy this book as much as we enjoyed writing it."; for(int i = 'z'; i>='a' ; i--) { char old1 = (char)i; char new1 = (char)(i+1); greetingText = greetingText.Replace(old1, new1); } for(int i = 'Z'; i>='A' ; i--) { char old1 = (char)i; char new1 = (char)(i+1); greetingText = greetingText.Replace(old1, new1); } Console.WriteLine("Encoded:\n" + greetingText); 注意: Replace()以一种智能化的方式工作,在某种程度上,它并没有创建一个新字符串,除非要对旧字符串 进行某些改变。原来的字符串包含23个不同的小写字母,和3个不同的大写字母。所以Replace()就分配一 个新字符串,共26次,每个新字符串都包含103个字符。因此加密过程需要在堆上有一个能存储总共2678 个字符的字符串对象,最终将等待被垃圾收集~显然,如果使用字符串进行文字处理,应用程序就会有严 重的性能问题。 为了解决这个问题,Microsoft提供了System.Text.StringBuilder类。StringBuilder不像String那样支持 非常多的方法。在StringBuilder上可以进行的处理仅限于替换和添加或删除字符串中的文本。但是,它的 工作方式非常高效。 在使用String类构造一个字符串时,要给它分配足够的内存来保存字符串,但StringBuilder通常分配 的内存会比需要的更多。开发人员可以选择显式指定StringBuilder要分配多少内存,但如果没有显式指定, 存储单元量在默认情况下就根据StringBuilder初始化时的字符串长度来确定。它有两个主要的属性: ? Length指定字符串的实际长度; ? Capacity是字符串占据存储单元的最大长度。 对字符串的修改就在赋予StringBuilder实例的存储单元中进行,这就大大提高了添加子字符串和替换单个字符的效率。删除或插入子字符串仍然效率低下,因为这需要移动随后的字符串。只有执行扩展字符串容量的操作,才需要给字符串分配新内存,才可能移动包含的整个字符串。在添加额外的容量时,从经验来看,StringBuilder如果检测到容量超出,且容量没有设置新值,就会使自己的容量翻倍。 例如,如果使用StringBuilder对象构造最初的欢迎字符串,可以编写下面的代码: StringBuilder greetingBuilder = new StringBuilder("Hello from all the guys at Wrox Press. ", 150); greetingBuilder.AppendFormat("We do hope you enjoy this book as much as we enjoyed writing it"); 注意: 为了使用StringBuilder类,需要在代码中引用System.Text。 在这段代码中,为StringBuilder设置的初始容量是150。最好把容量设置为字符串可能的最大长度,确保StringBuilder不需要重新分配内存,因为其容量足够用了。理论上,可以设置尽可能大的数字,足够给该容量传送一个int,但如果实际上给字符串分配20亿个字符的空间(这是StringBuilder实例允许拥有的最大理论空间),系统就可能会没有足够的内存。 在调用Append()方法时,其他文本就放在空的空间中,不需要分配更多的内存。但是,多次替换文本才能获得使用StringBuilder所带来的性能提高。例如,如果要以前面的方式加密文本,就可以执行整个加密过程,无须分配更多的内存: StringBuilder greetingBuilder = new StringBuilder("Hello from all the guys at Wrox Press. ", 150); greetingBuilder.Append("We do hope you enjoy this book as much as we " + "enjoyed writing it"); Console.WriteLine("Not Encoded:\n" + greetingBuilder); for(int i = 'z'; i>='a' ; i--) { char old1 = (char)i; char new1 = (char)(i+1); greetingBuilder = greetingBuilder.Replace(old1, new1); } for(int i = 'Z'; i>='A' ; i–– ) { char old1 = (char)i; char new1 = (char)(i+1); greetingBuilder = greetingBuilder.Replace(old1, new1); } Console.WriteLine("Encoded:\n" + greetingBuilder); 这段代码使用了StringBuilder.Replace()方法,它的功能与String.Replace()一样,但不需要在过程中复制字符串。在上述代码中,为存储字符串而分配的总存储单元是150个字符,用于StringBuilder实例以及在最后一个Console.WriteLine()语句中执行字符串操作期间分配的内存。 一般,使用StringBuilder可以执行字符串的操作,String可以存储字符串或显示最终结果。 2 StringBuilder成员 前面介绍了StringBuilder的一个构造函数,它的参数是一个初始字符串及该字符串的容量。还有几个其他的StringBuilder构造函数,例如,可以只提供一个字符串: StringBuilder sb = new StringBuilder("Hello"); 或者用给定的容量创建一个空的StringBuilder: StringBuilder sb = new StringBuilder(20); 除了前面介绍的Length 和 Capacity属性外,还有一个只读属性MaxCapacity,它表示对给定的StringBuilder实例的容量限制。在默认情况下,这由int.MaxValue给定(大约20亿,如前所述)。但在构造StringBuilder对象时,也可以把这个值设置为较低的值: // This will both set initial capacity to 100, but the max will be 500. // Hence, this StringBuilder can never grow to more than 500 characters, // otherwise it will raise exception if you try to do that. StringBuilder sb = new StringBuilder(100, 500); 还可以随时显式地设置容量,但如果把这个值设置为低于字符串的当前长度,或者超出了最大容量,就会抛出一个异常: StringBuilder sb = new StringBuilder("Hello"); sb.Capacity = 100; 主要的StringBuilder方法如表所示。 名 称 作 用 给当前字符串添加一个字符串 Append() 添加特定格式的字符串 AppendFormat() 在当前字符串中插入一个子字符串 Insert() 从当前字符串中删除字符 Remove() 在当前字符串中,用某个字符替换另一个字符,或者用当前字符串中Replace() 的一个子字符串替换另一字符串 ToString() 把当前字符串转换为System.String对象(在System.Object中被重写) 其中一些方法还有几种格式的重载方法。 注意: AppendFormat()实际上会在调用Console.WriteLine()时调用,它负责确定所有像{0:D}的格式化表达式应使用什么表达式替代。下一节讨论这个问题。 不能把StringBuilder转换为String(隐式转换和显式转换都不行)。如果要把StringBuilder的内容输出为String,唯一的方式是使用ToString()方法。 前面介绍了StringBuilder类,说明了使用它提高性能的一些方式。注意,这个类并不总能提高性能。StringBuilder类基本上应在处理多个字符串时使用。但如果只是连接两个字符串,使用System.String会比较好。 3、格式化字符串 前面的代码示例中编写了许多类和结构,对这些类和结构执行ToString()方法,都是为了显示给定变量的内容。但是,用户常常希望以各种可能的方式显示变量的内容,在不同的文化或地区背景中有不同的格式。.NET基类System.DateTime就是最明显的一个示例:可以把日期显示为10 June 2008、10 Jun 2008、6/10/08 (美国)、10/6/08 (英国)或10.06.2008 (德国)。 同样,第6章中编写的Vector结构执行Vector.ToString()方法,是为了以(4, 56, 8)格式显示矢量。编写矢量的另一个非常常用的方式是4i + 56j + 8k。如果要使类的用户友好性比较高,就需要使用某些工具以用户希望的方式显示它们的字符串表示。.NET运行库定义了一种标准方式:使用接口IFormattable,本节的主题就是说明如何把这个重要特性添加到类和结构上。 在显示一个变量时,常常需要指定它的格式,此时我们经常调用Console.WriteLine()方法。因此,我们把这个方法作为示例,但这里的讨论适用于格式化字符串的大多数情况。例如,如果要在列表框或文本框中显示一个变量的值,一般要使用String.Format()方法来获得该变量的合适字符串表示,但用于请求所需格 式的格式说明符与传递给Console.WriteLine()的格式相同,因此本节把Console.WriteLine()作为一个示例来说明。首先看看在为基本类型提供格式字符串时会发生什么,再看看如何把自己的类和结构的格式说明符添加到过程中。 以前在Console.Write()和Console.WriteLine()中使用了格式字符串: double d = 13.45; int i = 45; Console.WriteLine("The double is {0,10:E} and the int contains {1}", d, i); 格式字符串本身大都由要显示的文本组成,但只要有要格式化的变量,它在参数列表中的下标就必须放在括号中。在括号中还可以有与该项的格式相关的其他信息,例如可以包含: ? 该项的字符串表示要占用的字符数,这个信息的前面应有一个逗号,负值表示该项应左对齐,正值表示该项应右对齐。如果该项占用的字符数比给定的多,其内容也会完整地显示出来。 ? 格式说明符也可以显示出来。它的前面应有一个冒号,表示应如何格式化该项。例如,把一个数字格式化为货币,或者以科学计数法显示。 数字类型的常见格式说明符: 格 式 应 用 含 义 示 例 符 数字类型 专用场合的货币值 C $4834.50 (USA) ?4834.50 (UK) 只用于整数一般的整数 D 4834 类型 数字类型 科学计数法 E 4.834E+003 数字类型 小数点后的位数固定 F 4384.50 数字类型 一般的数字 G 4384.5 数字类型 通常是专用场合的数字N 4,384.50 (UK/USA) 格式 4 384,50 (欧洲大陆) 数字类型 百分比计数法 P 432,000.00% 只用于整数十六进制格式 X 1120 (如果要显示 类型 0x1120,需要写上0x) 如果要在整数上加上前导0,可以将格式说明符0重复所需的次数。例如,格式说明符0000会把3显示为0003,99显示为0099。 这里不能给出完整的列表,因为其他数据类型有自己的格式说明符。本节的主要目的是说明如何为自己的类定义格式说明符。 1. 字符串的格式化 为了说明如何格式化字符串,看看执行下面的语句会得到什么结果: Console.WriteLine("The double is {0,10:E} and the int contains {1}", d, i); Console.WriteLine()只是把参数的完整列表传送给静态方法String.Format(),如果要在字符串中以其他方式格式化这些值,例如显示在一个文本框中,也可以调用这个方法。带有3个参数的WriteLine()重载方法如下: // Likely implementation of Console.WriteLine() public void WriteLine(string format, object arg0, object arg1) { Console.WriteLine(string.Format(format, arg0, arg1)); } 上面的代码依次调用了带有1个参数的重载方法WriteLine(),仅显示了传递过来的字符串的内容,没 有对它进行进一步的格式化。 String.Format()现在需要用对应对象的合适字符串表示来替换每个格式说明符,构造最终的字符串。但是,如前所述,对于这个建立字符串的过程,需要StringBuilder实例,而不是String实例。在这个示例中,StringBuilder实例是用字符串的第一部分(即文本“The double is”)创建和初始化的。然后调用StringBuilder.AppendFormat()方法,传递第一个格式说明符“{0,10:E}”和相应的对象double,把这个对象的字符串表示添加到构造好的字符串中,这个过程会继续重复调用StringBuilder.Append()和StringBuilder.AppendFormat()方法,直到得到了全部格式化好的字符串为止。 下面的内容比较有趣。StringBuilder.AppendFormat()需要指出如何格式化对象,它首先检查对象,确定它是否执行System命名空间中的接口IFormattable。只要试着把这个对象转换为接口,看看转换是否成功即可,或者使用C#关键字is,也能实现此测试。如果测试失败,AppendFormat()只会调用对象的ToString()方法,所有的对象都从System.Object继承了这个方法或重写了该方法。在前面给出的编写各种类和结构的示例中,执行过程都是这样,因为我们编写的类都没有执行这个接口。这就是在前面的章节中,Object.ToString()的重写方法允许在Console.WriteLine()语句中显示类和结构如Vector的原因。 但是,所有预定义的基本数字类型都执行这个接口,对于这些类型,特别是这个示例中的double和int,就不会调用继承自System.Object的基本ToString()方法。为了理解这个过程,需要了解IFormattable接口。 IFormattable只定义了一个方法,该方法也叫作ToString(),它带有两个参数,这与System. Object版本的ToString()不同,它不带参数。下面是IFormattable的定义: interface IFormattable { string ToString(string format, IFormatProvider formatProvider); } 这个ToString()重载方法的第一个参数是一个字符串,它指定要求的格式。换言之,它是字符串的说明符部分,放在字符串的{}中,该参数最初传递给Console.WriteLine()或String. Format()。例如,在本例中,最初的语句如下: Console.WriteLine("The double is {0,10:E} and the int contains {1}", d, i); 在计算第一个说明符{0,10:E}时,在double变量d上调用这个重载方法,传递给它的第一个参数是E。StringBuilder.AppendFormat()传递的总是显示在原始字符串的合适格式说明符内冒号后面的文本。 本书不讨论ToString()的第2个参数,它是执行接口IFormatProvider的对象引用。这个接口提供了ToString()在格式化对象时需要考虑的更多信息—— 一般包括文化背景信息(.NET文化背景类似于Windows时区,如果格式化货币或日期,就需要这些信息)。如果直接从源代码中调用这个ToString()重载方法,就需要提供这样一个对象。但StringBuilder. Append Format()为这个参数传递一个空值。如果formatProvider为空,ToString()就要使用系统设置中指定的文化背景信息。 现在回过头来看看本例。第一个要格式化的项是double,对此要求使用指数计数法,格式说明符为E。如前所述,StringBuilder.AppendFormat()方法会建立执行IFormattable接口的对象double,因此要调用带有两个参数的ToString()重载方法,其第一个参数是字符串“E”,第二个参数为空。现在double的这个方法在执行时,会考虑要求的格式和当前的文化背景,以合适的格式返回double的字符串表示。StringBuilder.AppendFormat()则按照需要在返回的字符串中添加前导空格,使之共有10个字符。 下一个要格式化的对象是int,它不需要任何特殊的格式 (格式说明符是{1})。由于没有格式要求,StringBuilder.AppendFormat()会给该格式字符串传递一个空引用,并适当地响应带有两个参数的int.ToString()重载方法。由于没有特殊的格式要求,所以也可以调用不带参数的ToString()方法。
本文档为【【2017年整理】mvr蒸发器 运行原理】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_005190
暂无简介~
格式:doc
大小:50KB
软件:Word
页数:19
分类:工学
上传时间:2017-09-28
浏览量:111