NET问答: String 和 string 到底有什么区别?

咨询区

  • Peter O.

开门见山,参考如下例子:


string s = "Hello world!";
String s = "Hello world!";

请问这两者有什么区别,在实际使用上要注意一些什么?

回答区

  • Derek Park

string  是 C# 中 System.String 的别名,从技术角度上来说,他们没有任何区别,就好像 intSystem.Int32 一样。

至于使用上要注意什么?我通常推荐使用编译器内置的关键词 string,比如说:


string place = "world";

同样的,如果你想使用 string 下的某些方法,我推荐使用类方式 String.Format ,比如:


string greet = String.Format("Hello {0}!", place);

点评区

其实要想看两者的区别,可以先看看他们的 IL 是否一致?如果一致,那就看看汇编是否一致?沿着这个思路可以写个例子:

static void Main(string[] args){string s = "Hello world!";String s2 = "Hello world!";}

然后用 ILSpy 输出 IL 指令。


.method private hidebysig static void Main (string[] args) cil managed 
{// Method begins at RVA 0x2050// Code size 14 (0xe).maxstack 1.entrypoint.locals init ([0] string s,[1] string s2)IL_0000: nopIL_0001: ldstr "Hello world!"IL_0006: stloc.0IL_0007: ldstr "Hello world!"IL_000c: stloc.1IL_000d: ret
} // end of method Program::Main

从上面可以看出,都是用 ldstr 指令从元数据中提取新对象的引用,参考官方解释:

那怎么查看元数据中的 Hello world 字面量呢?可以用 PPEE 工具。

原文链接:https://stackoverflow.com/questions/7074/what-is-the-difference-between-string-and-string-in-c

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

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

相关文章

mysql 5.7.6 5.7.19_MySQL数据库之Mysql 5.7.19 免安装版遇到的坑(收藏)

本文主要向大家介绍MySQL数据库之Mysql 5.7.19 免安装版遇到的坑(收藏)了 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助。1、从官网下载64位zip文件。2、把zip解压到一个位置,此位置为安装为安装位置3、如果有以前的mysql 如…

LVS负载均衡-NET、DR模式配置

模型一:NAT模型的配置 实验环境: 采用VMware虚拟机,版本6.0.5 操作系统:Red Hat Enterprise Linux 5 (2.6.18) 虚拟机1:充当Director:网卡1(桥接):192.168.0.33(对外),网…

编程语言的“别样”编年史

全世界只有3.14 % 的人关注了数据与算法之美代码是一门语言,这门语言搭建了人与计算机沟通的桥梁。通过编写代码,人类可以“命令”计算机开发网页、开发软件、搭建游戏... ... 这门语言并不是上帝的发明,它是前辈们发挥聪明才智创造出来的&am…

mysql目录树_无限级目录树+记忆节点状态(PHP+mysql)

借鉴 网友 iuhxq 的设计制作而成的目录树,在此感谢 iuhxq 的代码对我大帮助。特点:1、无限级节点。2、直接产生html代码,容易修改。3、目录清楚,类似于资源管理器,(csdn论坛的,层数多了就不容易分清楚层次了…

NET问答: 如何使用 C# 比较两个 byte[] 的相等性 ?

咨询区 Hafthor:我现在业务中遇到了一个场景:如何简洁高效的判断两个 byte[] 的相等性?我现在是这么实现的,有一点繁琐:static bool ByteArrayCompare(byte[] a1, byte[] a2) {if (a1.Length ! a2.Length)return false…

也可以改为while(input[0])或while(cininput[0])

2019独角兽企业重金招聘Python工程师标准>>> <<c primer plus>> // static.cpp -- using a static local variable #include <iostream> // constants const int ArSize 10; // function prototype void strcount(const char * str); int main()…

.NET Core HttpClient请求异常分析

【导读】最近项目上每天间断性捕获到HttpClient请求异常&#xff0c;感觉有点奇怪&#xff0c;于是乎观察了两三天&#xff0c;通过日志以及对接方沟通确认等等&#xff0c;查看对应版本源码&#xff0c;尝试添加部分配置发布后&#xff0c;观察十几小时暂无异常情况出现&#…

python 小甲鱼 代码_Python小代码

先自我介绍一下&#xff0c;本人是正在自学Python的小白&#xff0c;没事分享一下自己写的小代码&#xff0c;欢迎在评论区补充。游戏管理系统&#xff1a;代码如下&#xff1a;def healthe(m):if m"Y"or y:print("欢迎&#xff0c;请进入游戏&#xff01;"…

原来这些行业的“潜规则”是这样的...

全世界只有3.14 % 的人关注了数据与算法之美在日常生活中&#xff0c;我们往往受限于专业和工作&#xff0c;对自己所处行业之外的事物了解不多。今天&#xff0c;数据汪带大家扒一扒各个行业中不为人知的“潜规则”&#xff0c;看看你们知道几个&#xff1f;看完上面20个“潜规…

“工业互联网平台“将成为工业制造企业的标配

目 录1. 概述2. 背景3. 评述1. 概述“‘工业互联网平台’将成为工业制造企业的标配”的命题既是基于工业生产企业现实情况的判断&#xff0c;又是对工业企业未来发展的需求判断。前途是光明的&#xff0c;但是道路是曲折的。前途的光明是基于工业企业现实…

5.[BX]和Loop指令

1.Debug和MASN中读取内存单元的区别&#xff1a;Debug中:mov ax,0ffffhmov ds,axmov al,[1]MASN中:mov ax,0ffffhmov ds,axmov bx,1mov al,[bx]或者mov ax,0ffffhmov ds,axmov al,ds:[1]2.Loop指令assume cs:codecode sementmov ax,2mov cx,3s: add ax,axloop scode ednsend 其…

linux mysql安装教程 方大帝_discuz论坛出现Can not connect to MySQL server错误的解决方法...

网站出现了问题&#xff0c;大家一定很着急吧&#xff0c;特别是做网站的&#xff0c;这几天有一台MySQL数据库服务器频繁出现掉线&#xff0c;经排查&#xff0c;并没有哪个网站受攻击&#xff0c;网上搜索了一下&#xff0c;很多人都碰到这问题&#xff0c;全是Windows系统上…

预售┃每个人都应该学习编程,因为它会教你如何思考

▲数据汪特别推荐点击上图进入玩酷屋扎克伯格11岁开始学习编程&#xff0c;创办Facebook&#xff1b;比尔盖茨13岁学习编程&#xff0c;创办微软……乔布斯说&#xff1a;“每一个人都应该学习电脑编程&#xff0c;因为它会教你如何思考。"现在在北京上海&#xff0c;顶级…

数据库(杂)

like查询是区分大小写的转载于:https://blog.51cto.com/cyxinda/1226040

python3抓取图片_通过Python3 爬虫抓取漫画图片

引言&#xff1a;最近闲来无事所以想着学习下python3&#xff0c;看了好长时间的文档&#xff0c;于是用python3写了一个漫画抓取的程序&#xff0c;好了 废话不多说上码&#xff01;第一步&#xff1a;准备环境 和类库&#xff0c;我用的是python3.5 禁用 python2.x &…

被同事嘲笑说技术方案没深度?

大家好&#xff0c;我是Z哥。程序员群体中有个很好玩的现象。工作年限短的程序员热衷于设计“高大上”的技术方案&#xff0c;而工作年限长的则对技术方案好像不太感冒&#xff0c;上手就撸代码。然后呢&#xff0c;年限短的程序员们想的技术方案又不好意思拿出来讲&#xff0c…

有个厉害的程序员女朋友是什么体验?

全世界只有3.14 % 的人关注了数据与算法之美自古妇女能顶半边天&#xff0c;在 IT 界&#xff0c;女生的力量也越来越强大&#xff0c;杰出的女性闪耀在我们身边。有人说&#xff1a;世界上有两种程序员一种是程序员一种是女程序员据数据汪了解&#xff0c;世界上第一个程序员 …

oracle 11g ORA-12541: TNS: 无监听程序 (DBD ERROR: OCIServerAttach)

em无法浏览&#xff0c;同时监听起不来。同时他的监听服务还是正常的&#xff0c;我做了两步修改 这个问题&#xff0c;最被大家认可的原因是IP地址变动&#xff0c;或者是其它原因&#xff0c;导致Oracle配置文件中的机器名或者IP不能被识别。有种解决办法是修改Network Confi…

out参数不用赋值?这么神奇吗!

首先提醒大家一下&#xff0c;docs.microsoft.com上的《C# 指南》是这样描述out 参数修饰符[1]的&#xff1a;作为 out 参数传递的变量在方法调用中传递之前不必进行初始化。但是&#xff0c;被调用的方法需要在返回之前赋一个值。请注意上面加粗的话&#xff0c;然后看看下面的…

SVN客户端--TortoiseSVN使用说明

TortoiseSVN是windows下其中一个非常优秀的SVN客户端工具。通过使用它&#xff0c;我们可以可视化的管理我们的版本库。不过由于它只是一个客户端&#xff0c;所以它不能对版本库进行权限管理。 TortoiseSVN不是一个独立的窗口程序&#xff0c;而是集成在windows右键菜单中&…