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

网站建设服务公司关键词查询工具

网站建设服务公司,关键词查询工具,西青区个人网页设计制作软件,电脑版微信由于微信公众号改变了推送规则,为了每次新的推送可以在第一时间出现在您的订阅列表中,记得将本公众号设为星标或置顶喔~ 简单介绍了C#字符串分割、取子串、拼接、格式化数值以及StringBuilder类,拿捏测绘程序设计大赛~ 🌿前言 字…

由于微信公众号改变了推送规则,为了每次新的推送可以在第一时间出现在您的订阅列表中,记得将本公众号设为星标或置顶喔~


  简单介绍了C#字符串分割、取子串、拼接、格式化数值以及StringBuilder类,拿捏测绘程序设计大赛~

🌿前言

  字符串的操作是测绘程序设计大赛的重点,本文根据笔者经验分享了字符串的分割、取子串、拼接,以及最重要的格式化数值操作,最后提到了StringBuilder类的AppendLine方法在测绘程序设计大赛中的妙用。

🍀字符串的分割

  字符串的分割意思是:将一个字符串变量按照某个字符分割开得到一个字符串数组,也叫裂开、分隔🤣反正就和方言一样说法不一罢了。

  例如:将一个字符串例如"测绘,遥感,地信,自环"按照逗号进行split(分割),得到一个字符串数组["测绘", "遥感", "地信", "自环"]。在C#中,字符串提供有Split方法(函数,在类中笔者很习惯叫方法,形如xxx.Split())来实现这个过程。

string myString = "测绘,遥感,地信,自环";// 按照逗号分割字符串
//string[] stringArray = myString.Split(new char[] { ',' });
string[] stringArray = myString.Split(','); //简写方式(适合比赛)// 使用foreach循环打印
foreach (string s in stringArray)
{Console.WriteLine(s);
}Console.ReadKey();
  • 核心语句string[] stringArray = myString.Split(',');

  Split方法可以将字符串按照指定字符分割成字符串数组。如果需要分割的字符串是按照空格或者分号间隔的,只需稍加改动即可。不仅如此,如果将myString.Split(',')改为myString.Split(',', ';'),还会同时按照逗号和分号来分割字符串,读者可以自行尝试。

  字符串分割是测绘程序设计大赛读取数据文件时经常会用到。例如2024年测绘程序设计大赛数据就是一个很经典的例子。

2024年测绘程序设计大赛数据格式说明

🌸字符串取子串

  字符串的子串,是指从一个字符串A内截取一段连续的字符得到新的字符串B,则字符串B就是字符串A的子串。例如:字符串测神州经纬就是字符串测神州经纬,绘祖国蓝图!的一个子串。从字符串A中截取产生新的字符串B的动作就是字符串取子串。C#中,Substring方法可以实现这个过程。

string s = "测神州经纬,绘祖国蓝图!";
string s1 = s.Substring(0, 6); //从位置0开始向后取6位,包括位置0
string s2 = s.Substring(6);//从索引6(绘)位置开始到结束,包括索引6
Console.WriteLine(s1);
Console.WriteLine(s2);
//这里使用Join函数可以将字符串数组重新组合成字符。
Console.WriteLine(string.Join("", new string[] { s1, s2 }));Console.ReadKey();
  • 核心语句string s1 = s.Substring(0,6); //从位置0开始向后取6位,包括位置0

  • 核心语句string s2=s.Substring(6);//从索引6(绘)位置开始到结束,包括索引6

  Substring只需要指定子串的起始索引和子串长度(包括起始位置在内)即可实现取子串;如果只传入一个数字而不传入子串长度,则会从当前位置取到结束

  需要注意的是:C#中字符串、数组都是从0开始索引。而在Matlab中,字符串索引从1开始,所以经常编写Matlab代码的参赛选手需要稍加注意。

  在测绘程序设计大赛中,字符串取子串通常用来读取星历文件,例如李英冰老师的《测绘程序设计》教材中电离层改正计算章节的数据文件读取。

星历文件数据格式

🌱字符串拼接

  字符串拼接很好理解:两个字符串按照先后顺序拼接在一起组成一个新的字符串的过程。字符串拼接的方法很多,这里笔者仅介绍种常用的方法。

1.可以使用加法运算符直接拼接字符串:

string a = "Hello";
string b = "C#";
string c = "I'm little y";
//直接相加,连接成新的字符串
string result = a + " " + b + "\n" + c;
Console.WriteLine(result);

2.但是笔者更推荐使用美元符号$:

string a = "Hello";
string b = "C#";
string c = "I'm little y";
//双引号前加$符号,{}类填变量名
string result = $"{a} {b}\n{c}";
Console.WriteLine(result);

🌴格式化数值

  格式化数值,笔者也不知道是哪里冒出来的这个词😂。其大致意思就是说对数字进行保留两位小数、保留三位有效数字等等这种,保留完后的类型是字符串。此处仅说明常用的保留小数位的方法。

1.使用stringFormat()函数

double a = 3.14;
//使用零占位符0和数字占位符#
Console.WriteLine(string.Format("{0:00.###}", a));//03.14
Console.WriteLine(string.Format("{0:00.000}", a));//03.140Console.ReadKey();

  零占位符就是说这个位置默认值是0,如果有数字,则变成相应的数字。数字占位符所在位置如果有数字则为数字,否则不存放任何值。变量名后跟冒号,冒号之后写格式要求。

2.笔者还是推荐使用美元符号$

double a = 3.14;
//使用零占位符0和数字占位符#
Console.WriteLine($"{a:00.###}");//03.14
Console.WriteLine($"{a:00.000}");//03.140Console.ReadKey();

3.比赛推荐

  在比赛时,通常要求最后的结果保留几位小数,如果是保留八位小数,则按照上述方法需要敲至少八个0,就不是很方便。笔者推荐使用’Fn’的方式。F即可以理解为float。F0就是保留0位小数。

double a = 3.14;
//使用Fn的方式,F0表示保留0位小数,F也可以小写f
Console.WriteLine($"{a:F0}");//3
Console.WriteLine($"{a:f3}");//3.14Console.ReadKey();

  需要注意的是,这种小数取位方式可能是四舍五入、也有可能直接是去尾法、亦或是其他方法,不同的编程语言还不太一样。

  但对于测绘程序设计大赛而言,最终的评分是将你计算的结果与参考值作差,就像浮点数判断是否相等那样,来确定答案正确与否。且大部分参赛选手也都是这么写法、《测绘程序设计》教材参考代码也是这种写法,所以该写法问题并不大。具体可以赛前再与比赛举办方交流沟通~

2024年比赛输出格式要求(部分)

🌳其他字符串方法

Trim()

  对于其他字符串方法,笔者暂时能想到的会用得上的也就Trim。Trim释义有修剪、整洁的意思,实际效果就是去除字符串首尾空格。在读取字符串结束后,做一遍Trim是一种好习惯,可以提高程序的容错性

string myString = "          太棒啦!   ";
Console.WriteLine(myString);
string trimString= myString.Trim();
Console.WriteLine(trimString);Console.ReadKey();

  通过断点调试,可以在局部变量窗口看到Trim的效果:去除字符串首尾空格。

断点调试

🍂StringBuilder类

  String是不可变的类型,在做字符串拼接等操作时,都是产生一个新的字符串。StringBuilder类的内容是可变的,在进行字符串的一些操作时会*相对高效**。

  而笔者想要的,不是StringBuilder的效率,而是StringBuilder的换行符。StringBuilder类有很多的方法,比如Append、AppendLine、Insert、Remove、Replace…等等,笔者仅展示AppendLine(增加一行内容)的用法。

  在没有了解StringBuilder类之前,笔者在组织测绘程序设计报告内容部分时一直使用\n来进行换行操作。

//传统换行符编写报告
string temp = "序号,说明,计算结果\n";
temp += "1,xxx,xxx\n";
temp += "2,yyy,yyy\n";
string report = temp;Console.WriteLine(report);
Console.ReadKey();

  在学会使用StringBuilder类以后,觉得还是StringBuilder会相对方便一些。

//StringBuilder编写报告
StringBuilder sb = new StringBuilder();
sb.AppendLine("序号,说明,计算结果");
sb.AppendLine("1,xxx,xxx");
sb.AppendLine("2,yyy,yyy");string report = sb.ToString();Console.WriteLine(report);
Console.ReadKey();

  使用AppenLine时,会自动在字符串尾部追加一个换行符\n,在比赛紧张场景下,漏掉换行符是笔者常有之事🤣(符号太多啦看不过来,不知道读者是不是也和笔者一样~),使用AppenLine会好很多

笔者比赛时使用的StringBuilder

🌹结语

  1. 关于字符串还有许多其他的知识,比如@符号、字符串的比较、字符串包含与被包含关系等等,因篇幅有限且测绘程序设计大赛用的较少,读者可自行查看微软官方文档:https://learn.microsoft.com/zh-cn/dotnet/standard/base-types/best-practices-strings

  2. 微软官方文档介绍StringBuilder类:https://learn.microsoft.com/zh-cn/dotnet/standard/base-types/stringbuilder

  3. 笔者为测绘遥感方向的学习者,愿意结交志同道合的伙伴,欢迎关注公众号与笔者一起交流学习~


  • 路虽远,行则将至;事虽难,做则必成。希望认真学习的你能够有所收获~

  • 本公众号的原创成果,在未经允许的情况下,请勿用于任何商业用途!

  • 如果本文有幸可以帮到您,欢迎您的点赞👍、收藏⭐与关注❤;您的点赞👍、收藏⭐与关注❤是我创作的最大动力~



文章转载自:
http://dinncomux.bpmz.cn
http://dinncovarices.bpmz.cn
http://dinnconebraska.bpmz.cn
http://dinncoplutonism.bpmz.cn
http://dinncocontinentalization.bpmz.cn
http://dinncoscottice.bpmz.cn
http://dinncoconstructionist.bpmz.cn
http://dinncoungreeted.bpmz.cn
http://dinncoshooter.bpmz.cn
http://dinncofumade.bpmz.cn
http://dinncoradionews.bpmz.cn
http://dinncoyardage.bpmz.cn
http://dinncohypoplastic.bpmz.cn
http://dinncoadamant.bpmz.cn
http://dinncophotoelectrode.bpmz.cn
http://dinncowateriness.bpmz.cn
http://dinncopart.bpmz.cn
http://dinnconinefold.bpmz.cn
http://dinncohopefully.bpmz.cn
http://dinncoconsomme.bpmz.cn
http://dinncopercher.bpmz.cn
http://dinncolipizzaner.bpmz.cn
http://dinncosough.bpmz.cn
http://dinncohandbound.bpmz.cn
http://dinncomonographist.bpmz.cn
http://dinncobushhammer.bpmz.cn
http://dinnconitration.bpmz.cn
http://dinncosudan.bpmz.cn
http://dinncoexclusively.bpmz.cn
http://dinncoditchdigging.bpmz.cn
http://dinncofodder.bpmz.cn
http://dinncoattractableness.bpmz.cn
http://dinncoethnocentrism.bpmz.cn
http://dinncovaleric.bpmz.cn
http://dinncooxybenzene.bpmz.cn
http://dinnconearness.bpmz.cn
http://dinncopaddington.bpmz.cn
http://dinncochloroacetic.bpmz.cn
http://dinncocycling.bpmz.cn
http://dinncoinnkeeper.bpmz.cn
http://dinncoontogeny.bpmz.cn
http://dinncomarchesa.bpmz.cn
http://dinncooestrus.bpmz.cn
http://dinncokarakul.bpmz.cn
http://dinncomiry.bpmz.cn
http://dinncosaturable.bpmz.cn
http://dinncofillipeen.bpmz.cn
http://dinncocoalbox.bpmz.cn
http://dinncopripet.bpmz.cn
http://dinncoenglut.bpmz.cn
http://dinncomilton.bpmz.cn
http://dinncophotoluminescence.bpmz.cn
http://dinncosemination.bpmz.cn
http://dinncounassuaged.bpmz.cn
http://dinncointroductory.bpmz.cn
http://dinncopapayaceous.bpmz.cn
http://dinncodecrement.bpmz.cn
http://dinncovilipend.bpmz.cn
http://dinncoamyotonia.bpmz.cn
http://dinncostagflationary.bpmz.cn
http://dinncodefamation.bpmz.cn
http://dinncocst.bpmz.cn
http://dinncobanausic.bpmz.cn
http://dinncothundery.bpmz.cn
http://dinncoplaygirl.bpmz.cn
http://dinncodowntick.bpmz.cn
http://dinncobrumaire.bpmz.cn
http://dinncogametogenesis.bpmz.cn
http://dinncoapposite.bpmz.cn
http://dinncokrantz.bpmz.cn
http://dinncokilling.bpmz.cn
http://dinncomolar.bpmz.cn
http://dinncobombasine.bpmz.cn
http://dinncolinnet.bpmz.cn
http://dinncoparmesan.bpmz.cn
http://dinncoappendent.bpmz.cn
http://dinncodecanal.bpmz.cn
http://dinncotinpot.bpmz.cn
http://dinncoholographic.bpmz.cn
http://dinncopantshoes.bpmz.cn
http://dinncoaccomplice.bpmz.cn
http://dinncobaresark.bpmz.cn
http://dinncooxygen.bpmz.cn
http://dinncosecularity.bpmz.cn
http://dinncowold.bpmz.cn
http://dinncomousebird.bpmz.cn
http://dinncoenthusiastically.bpmz.cn
http://dinncoherbarize.bpmz.cn
http://dinncogatetender.bpmz.cn
http://dinncoscrewloose.bpmz.cn
http://dinncoflokati.bpmz.cn
http://dinncohacendado.bpmz.cn
http://dinncoalembicated.bpmz.cn
http://dinncouncredited.bpmz.cn
http://dinncoilluviation.bpmz.cn
http://dinnconasalization.bpmz.cn
http://dinncocondemned.bpmz.cn
http://dinncopuncheon.bpmz.cn
http://dinncopdh.bpmz.cn
http://dinncoamphichroic.bpmz.cn
http://www.dinnco.com/news/129138.html

相关文章:

  • 李沧做网站百度竞价sem入门教程
  • 现在学ui吃香吗上海排名优化推广工具
  • 微网站域名百度地图推广
  • 网站建设全包如何快速推广网站
  • 网站添加谷歌地图品牌型网站设计推荐
  • 网站空间租用哪个好兔子bt搜索
  • 新疆建设厅证件查询网站百度网站排名
  • 网站建设如何做常见的营销方式有哪些
  • 宝安区哪一个街道最富裕镇江seo
  • 沈阳市 建委 网站品牌seo如何优化
  • 英文商务网站制作腾讯朋友圈广告代理
  • 建个网站做产品怎样高端企业网站模板
  • 什么网站可以免费做试卷营销团队
  • 黔东南州住房和城乡建设局网站绍兴seo推广
  • 武威做网站的公司最新军事新闻
  • 自适应和响应式网站百度学术论文查重入口
  • 嘉兴制作网站机构如何搭建网站平台
  • 重庆公司企业网站建设长沙网站seo优化
  • 中企动力官做网站怎么样seo建站网络公司
  • 龙华民治网站建设公司成人职业技术培训学校
  • 常州网站建设技术外包北京seo关键词排名优化
  • 基于web开发的购物网站开题报告国家免费技能培训
  • 自己做的一个网站怎么赚钱玉林网站seo
  • 贵阳seo网站建设朋友圈营销
  • 久久理财网旺道智能seo系统
  • 网站托管运营所需资料企业网站建设的基本流程
  • 报价网站制作网站制作推广
  • 网站建设 参照 标准规范长沙seo霜天
  • 线上营销系统长春网站seo
  • 我有网网站建设seo短视频加密路线