C#实用小知识:字符串里的换行

从前,用asp.net core写了一个给客户发交易明细的应用,每天发一次,因为是csv格式,当时用的是StringBuilder来一行一行组装数据,组装完后,EMali或SFTP给客户。

后来,为节省服务器资源,需要把服务从windows server迁移到Linux上,经过反复测试,都没有发现Bug,就上线了。结果悲剧发生了,用户说我们传的csv格式与以前不一样,我们打开怎么看都是对的,后来,在“心(ri)细(ben)”的同事提示下,我们用sakura文本编辑器打开查看,果不其然,每个换行都不一样,原来在windows下是“\r\n”,在Linux上是“\n”,为什么呢?看代码吧。

 WriteLine("---------StringBuilder---------");var contentBuilder = new StringBuilder();contentBuilder.AppendLine("line00001");contentBuilder.AppendLine("line00002");contentBuilder.AppendLine("line00003");var content = contentBuilder.ToString();Console.WriteLine(content);//为了显示出\r\n进行一个替换Console.WriteLine(content.Replace("\r", "\\r").Replace("\n", "\\n"));Console.WriteLine();Console.WriteLine();//Environment.NewLin也同样是这个坑Console.WriteLine("---------Environment.NewLine-------- ");content = "line0000A" + Environment.NewLine + "line0000B";Console.WriteLine(content);Console.WriteLine();Console.WriteLine(content.Replace("\r", "\\r").Replace("\n", "\\n"));ReadLine();

这是windows下的输出

这是mac下的输出

这是ubuntu下的输出

这是docker(windows下的WSL)下的输出

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/303593.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

多重信号辅助音频分离,让你在嘈杂环境也能指哪听哪儿

在刚刚结束的 I/O 大会的主题演讲中,Google CEO Sundar 提出了机器学习在无障碍(Accessibility)方面的用例:有听觉障碍的人在观看视频时往往需要配合字幕来完成辅助理解,但是如果你遇到了多个人同时在说话,…

线性表的链式实现

用链式实现的线性表,公共接口ADT跟上一篇一样 1,有序链表 成员变量和构造函数: privateLinearNode front;privateintcount;publicLinkedOrderedList(){ front null; count 0;实现清单(将ADT和有序链表扩展的独有操作分别作了注释&…

mysql5.7组复制多主一从搭建_MySql5.7-多源复制(多主单从)

1.1.主库配置my.cnf#确保唯一server-id1#作为Master要开启binloglog-binmysql-bin#binlog format有三种形式:Statement、Mixed、Row,默认设置为mixedbinlog-formatmixed#需要同步的库,不指定默认同步全部库binlog-do-dbradius#不需要同步的库…

我敢打赌,这世界没有python数据分析解决不了的问题

相信许多做数据的都有这样的经历:你花了大半天整合了一张数据表,却因为其他部门的错误,导致表格结构全错了!于是你又要吭哧吭哧重新来过...每次数据都重复洗一遍,还这么慢,要是有一劳永逸的方法就好了。一劳…

mysql 存储二进制数据_为什么在MySQL中存储二进制数据?

Im a little confused - what are the pros of storing binary data in DB? Is it for security reasons, or there are some more complicated motives i dont see?Thanks for your time.解决方案As opposed to what? Putting it in the filesystem?The drawbacks to usin…

福利再度来袭,R语言数据分析书籍值得你拥有

在这个大数据的时代,数据分析和数据挖掘的重要性日益明显,小编也一直有意识地收集相关数据集,经过长时间的积累和沉淀,已经拥有十几本有关用R做数据分析和数据挖掘的书籍,有《统计建模与R软件》(含源码&…

在 .NET Core 中使用 ViewConfig 调试配置

介绍.NET Core 中的配置包含了多个配置提供程序,包括了 appsettings.json,环境变量,命令行参数等,还有一些扩展的自定义提供程序,比如说 ApolloConfig,AgileConfig 这些,然后从键值对中读取配置…

有趣!机器学习预测《守望先锋》里的赢家

网络游戏及电竞流媒体业务正在崛起为一个巨大的市场。在去年的英雄联盟世界锦标赛中,仅一场半决赛就有高达 1.06 亿人观看,甚至超过了 2018 年“超级碗”的观看人数。另一个成功的例子是 Twitch,目前有数千游戏玩家在上面直播玩游戏&#xff…

C#8.0宝藏好物Async streams

之前写《.NET gRPC 核心功能初体验》&#xff0c;利用gRPC双向流做了一个打乒乓的Demo&#xff0c;存储消息的对象是IAsyncEnumerable<T>&#xff0c;这个异步可枚举泛型接口支撑了gRPC的实时流式通信。本文我将回顾分享foreach/yield return/async await语法糖的本质如何…

连接mysql数据库2013_使用VS2013 + EF6 + .NET4.5 连接Mysql数据库

1、安装插件在使用Visual Studio 2013添加ADO.NET实体数据模型新建连接时&#xff0c;默认是没有Mysql选项的。此时我们需要安装两个东西&#xff1a;1、mysql-for-visualstudio&#xff1a;Mysql的Visual Studio插件&#xff0c;推荐1.2.3版本2、mysql-connector-net&#xff…

重磅来袭,2018 年 6 月编程语言排行榜

TIOBE 编程语言社区最新发布了 2018 年 6 月排行榜&#xff0c;和 5 月榜单相比&#xff0c;前九名没有任何变化&#xff0c;依然是 Java、C、C、Python、C#、Visual Basic .NET、PHP、JavaScript、SQL。5月份第十名的Ruby在这个月下降了一名&#xff0c;而R则上升一名&#xf…

mysql bench linux_MySQL Study之--Linux下安装MySQL workbench工具

系统环境&#xff1a;操作系统&#xff1a; RedHat EL6.4(64)WorkBench&#xff1a; mysql-workbench-community-6.0.9MySQL Workbench是一款专为MySQL设计的ER/数据库建模工具。它是著名的数据库设计工具DBDesigner4的继任者。你可以用MySQL Workbench设计和创建新的数据库图示…

.NET6发布了Preview2,这点超越过去10年!

从ASP.NET的性能诟病&#xff0c;到.NET Core的性能持续改进&#xff0c;在每一个.NET Core版本都能看到性能优化提升的介绍。.NET Core3.1在各种性能排行中霸榜&#xff0c;.NET5再度提升了性能&#xff0c;前些天发布的.NET Preview2&#xff0c;通过PGO &#xff08;Profile…

人工智能预测2018年世界杯 | 德国人打破历史将在俄罗斯上取得最后的胜利?

2018年俄罗斯世界杯近在眼前&#xff0c;比赛将于6月14日~7月15日在俄罗斯的各地举行。但世界杯还没开始&#xff0c;人们已经出现了各种各样的“比赛结果预测”。其中不乏有一些专业人士以及原足球选手&#xff0c;也有许多“生物”对此预测。前几年&#xff0c;章鱼哥保罗就准…

Q+开放的互联网:腾讯QQ “亮剑” 开放平台

&#xff08;图一&#xff09; 近日&#xff0c;人民日报的腾讯广告&#xff08;图一&#xff09;&#xff0c;在网民心中引起不小的波动。看着图中憨厚的小企鹅&#xff0c;后面是数以万计的应用软件&#xff0c;给人一种大将领兵征战沙场的感觉。图片左下角是 “Q开放的互联网…

php查询mysql乱码_php 查询mysql乱码怎么办

php查询mysql乱码的解决办法&#xff1a;1、修改PHP页面语言本身的编码类型&#xff1b;2、将MySQL字符集更改为“UTF8”&#xff1b;3、使用ultraplus中的编码转换功能进行转换。php读取mysql中文数据出现乱码的解决方法1.PHP页面语言本身的编码类型不合适&#xff0c;这时候&…

猝不及防,Google成功“造人”令人胆寒!人类迎来史上最惨失业潮…

01猝不及防&#xff01;这次&#xff0c;Google“造人”了&#xff01;5月8号&#xff0c;谷歌召开一年一度的Google I/O大会。谷歌CEO劈柴直接祭出了这次大会的王牌AI&#xff0c;这个智能过人的Al让人看完不禁倒吸一口凉气……相比Apple Siri和Microsoft Cortana只能机械式对…

雷军这个程序员!真的牛逼!

阅读本文大概需要3分钟。这两天忙着给CEO汇报工作以及跟进几个新产品的进展&#xff0c;忙到连新闻都没时间看。今天终于轻松了点&#xff0c;早上起来刷了刷知乎&#xff0c;看见一个让我惊呆了的消息&#xff1a;雷军要造车了&#xff01;雷军宣称亲自带队&#xff0c;初期就…

poj2545

题意&#xff1a;给出三个质数&#xff0c;求这素因子只有这三个质数的数中第k大的。 分析&#xff1a;用一个数列&#xff0c;第一位是1。用三个指针指向三个prime要乘的被乘数&#xff0c;最开始都指向1。每次取乘积最小的加入数组&#xff0c;并把指针后移。加入时要判断是否…

微软发布 Windows 10 预览版 Build 21343:此电脑和回收站等启用全新图标

微软已向开发频道&#xff08;Dev&#xff09;的 Windows 预览体验成员发布了 Windows 10 Insider Preview Build 21343 更新。内置应用和文件夹启用全新图标从去年开始&#xff0c;微软就不断为 Windows 10 内置应用重新设计图标。在 Windows 10 版本 20H2 更新中&#xff0c;…