当前位置: 首页 > news >正文

昭通高速装配式建筑公司网站《php与mysql网站开发全接触》光盘源码.rar

昭通高速装配式建筑公司网站,《php与mysql网站开发全接触》光盘源码.rar,百度网站建设平台,昔阳做网站公司文章目录 StringBuilder和String 对比1. **循环内字符串连接**2. **构建大型日志消息**3. **格式化长字符串**4. **SQL 查询构造**5. **从文件读取并合并行**6. **拼接数组元素**7. **格式化电子邮件模板**8. **处理用户输入流**9. **JSON 或 XML 格式的序列化与构建**10. **动… 文章目录 StringBuilder和String 对比1. **循环内字符串连接**2. **构建大型日志消息**3. **格式化长字符串**4. **SQL 查询构造**5. **从文件读取并合并行**6. **拼接数组元素**7. **格式化电子邮件模板**8. **处理用户输入流**9. **JSON 或 XML 格式的序列化与构建**10. **动态生成 HTML 页面**11. **构建长路径名**12. **处理大量字符串分割与合并**13. **格式化复杂的表格数据**14. **动态生成SQL IN子句**15. **拼接加密后的密码散列** C# 中的 string 和 StringBuilder 类主要在内存管理和字符串操作性能上存在显著区别 StringBuilder和String 对比 String 类 不可变性字符串是不可变的每次对字符串进行修改如拼接、替换等时都会创建一个新的字符串实例。内存分配由于不可变性每次字符串操作都需要在内存堆中为新字符串分配空间这会导致频繁的内存分配和垃圾回收。性能对于单个或少量的字符串操作性能影响可能不大。但在大量或频繁的字符串连接操作尤其是循环中会产生大量的中间字符串严重影响性能。 StringBuilder 类 可变性StringBuilder 是可变的可以在原对象上直接修改内容不会生成新的对象。内存效率它预先分配了一定大小的缓冲区并且可以根据需要动态扩展容量减少了内存分配次数从而提高了内存使用效率。性能适用于处理多个字符串拼接的情况尤其是在循环或其他需要多次修改字符串的场景下其性能远优于 String 类。 提升性能的使用案例 以下是十个展示 StringBuilder 在性能优化方面应用的示例 1. 循环内字符串连接 string result ; for (int i 0; i 10000; i) {// 错误的做法会生成很多临时字符串// result Item i;// 正确的做法使用 StringBuilderStringBuilder sb new StringBuilder();sb.Append(Item);sb.Append(i);result sb.ToString(); // 只在循环结束后生成最终字符串 }2. 构建大型日志消息 StringBuilder logBuilder new StringBuilder(); for (int i 0; i data.Length; i) {logBuilder.Append(data[i].ToString());logBuilder.Append(,); } string logMessage logBuilder.ToString().TrimEnd(,);3. 格式化长字符串 StringBuilder reportBuilder new StringBuilder(); foreach (var item in reportData) {reportBuilder.AppendFormat(ID: {0}, Name: {1}, Value: {2}\n, item.Id, item.Name, item.Value); } string report reportBuilder.ToString();4. SQL 查询构造 StringBuilder sqlQuery new StringBuilder(SELECT * FROM Users WHERE ); bool isFirst true; foreach (var condition in conditions) {if (!isFirst)sqlQuery.Append( AND );sqlQuery.Append($Column {condition});isFirst false; } ExecuteSql(sqlQuery.ToString());5. 从文件读取并合并行 StringBuilder fileContent new StringBuilder(); using (StreamReader reader new StreamReader(largeFile.txt)) {string line;while ((line reader.ReadLine()) ! null){fileContent.AppendLine(line);} } string completeFileText fileContent.ToString();6. 拼接数组元素 int[] numbers Enumerable.Range(1, 10000).ToArray(); StringBuilder numStr new StringBuilder(); foreach (int number in numbers) {numStr.Append(number.ToString());numStr.Append(,); } string numList numStr.ToString().TrimEnd(,);7. 格式化电子邮件模板 StringBuilder emailBody new StringBuilder(emailTemplate); emailBody.Replace({Name}, customer.Name); emailBody.Replace({OrderNo}, order.OrderNumber); SendEmail(customer.Email, emailBody.ToString());8. 处理用户输入流 StringBuilder inputBuffer new StringBuilder(); while (streamReader.Peek() 0) {inputBuffer.Append((char)streamReader.Read()); } ProcessInput(inputBuffer.ToString());9. JSON 或 XML 格式的序列化与构建 StringBuilder jsonBuilder new StringBuilder([); for (int i 0; i list.Count; i) {jsonBuilder.Append(JsonConvert.SerializeObject(list[i]));if (i list.Count - 1)jsonBuilder.Append(,); } jsonBuilder.Append(]); string jsonArray jsonBuilder.ToString();10. 动态生成 HTML 页面 csharp StringBuilder htmlPage new StringBuilder(htmlbody); foreach (var article in articles) {htmlPage.AppendFormat(h2{0}/h2p{1}/p, article.Title, article.Content); } htmlPage.Append(/body/html); return htmlPage.ToString();11. 构建长路径名 StringBuilder pathBuilder new StringBuilder(); pathBuilder.Append(basePath); foreach (string directory in directories) {pathBuilder.Append(Path.DirectorySeparatorChar);pathBuilder.Append(directory); } string fullPath pathBuilder.ToString();12. 处理大量字符串分割与合并 csharp string[] parts longString.Split(;); StringBuilder rebuiltString new StringBuilder(); for (int i 0; i parts.Length; i) {rebuiltString.Append(parts[i].Trim());if (i parts.Length - 1)rebuiltString.Append(; ); } string processedString rebuiltString.ToString();13. 格式化复杂的表格数据 csharp StringBuilder tableBuilder new StringBuilder(); foreach (var row in dataTable.Rows) {for (int i 0; i dataTable.Columns.Count; i){tableBuilder.Append(row[i].ToString().PadRight(20));if (i dataTable.Columns.Count - 1)tableBuilder.Append(|);}tableBuilder.AppendLine(); } string formattedTable tableBuilder.ToString();14. 动态生成SQL IN子句 csharp Listint ids GetIds(); StringBuilder inClause new StringBuilder(IN (); for (int i 0; i ids.Count; i) {inClause.Append(ids[i]);if (i ids.Count - 1)inClause.Append(,); } inClause.Append()); ExecuteSql($SELECT * FROM Users WHERE Id {inClause.ToString()}); 15. 拼接加密后的密码散列 csharp StringBuilder passwordHashBuilder new StringBuilder(); using (SHA256 sha256 SHA256.Create()) {byte[] hashBytes sha256.ComputeHash(Encoding.UTF8.GetBytes(password));foreach (byte b in hashBytes){passwordHashBuilder.Append(b.ToString(x2));} } string passwordHash passwordHashBuilder.ToString();以上这些例子再次强调了在需要频繁修改和拼接字符串的场景下StringBuilder相比于string能够显著提升性能。 python学习汇总连接 50个开发必备的Python经典脚本(1-10) 50个开发必备的Python经典脚本(11-20) 50个开发必备的Python经典脚本(21-30) 50个开发必备的Python经典脚本(31-40) 50个开发必备的Python经典脚本(41-50) ———————————————— ​最后我们放松一下眼睛
http://www.zqtcl.cn/news/743764/

相关文章:

  • 北京微信网站开发费用软件开发做平台
  • 平面设计师必备网站精湛的赣州网站建设
  • 上海市住房和城乡建设部网站官网wordpress页面点赞
  • 试玩平台类网站怎么做的东莞网站关键词推广
  • 网站开发慕枫页面模板怎么删除
  • 网站开发微信小程序需求量大吗珠海新闻头条最新消息
  • 闭站保护对网站影响公司主网站百度收录大量网站之类的信息
  • 在阿里云上建立网站的步骤在360网站做公告怎么弄
  • wordpress给公司建站安徽省干部建设教育网站
  • 做的网站需要买什么系统服务器找第三方做网站 需要注意
  • 网页设计模板网站推荐互联网创业项目网
  • 北京做网站的大公司动态列线图怎么制作网页
  • 江西省城乡和住房建设部网站google play应用商店
  • 网站前台设计过程泰安千橙网络科技有限公司
  • 可以做来电名片的网站网站开发频道构架
  • 网站备案没通过不了宣传片拍摄的意义
  • 专业提供网站建设服务包括做解析视频网站违法莫
  • 天津工程建设协会网站wordpress 自由评论
  • 南同网站建设hr系统管理软件排名
  • 水果网店网站建设策划书做企业形象网站
  • 小清新博客网站软件公司有哪些部门
  • 企业网站托管一年多少钱想学电商运营在哪里学
  • 网站建设自评报告手机电商平台怎么做的
  • 安阳网站建设优化免费的免抠图素材网站
  • 网站主机有什么用seo网站课程
  • 网站关键词优化软件网站的二次开发
  • 网站建设技术服务费怎么入账杭州网站推广与优化
  • 咨询类网站建设方案书重庆360网络推广
  • 简单网站模板下载wordpress调用数据库字段
  • 万网空间最多放几个网站好的网站首页的特点