string.Empty 和 并不总是可以互换的

在 C# 中,大多数情况下 "" 和 string.Empty 可以互换使用。比如:

None.gifstring s = "";
None.gif
string s2 = string.Empty;
None.gif
ExpandedBlockStart.gifContractedBlock.gif
if (s == string.Empty) dot.gif{
InBlock.gif  
// dot.gif
ExpandedBlockEnd.gif
}

但是我发现有一种情况下只能是用常数形式: "", 而不能使用 string.Empty 这个静态变量。就是在标签(Attribute) 的构造器里面:

这个代码是正确的:
None.gif[Default("")]
ExpandedBlockStart.gifContractedBlock.gif
public string Name dot.gif{
ExpandedSubBlockStart.gifContractedSubBlock.gif  
get dot.gifreturn name; }
ExpandedSubBlockStart.gifContractedSubBlock.gif  
set dot.gif{ name = value; }
ExpandedBlockEnd.gif}

这个是错误的,无法通过编译:
None.gif[Default(string.Empty)]
ExpandedBlockStart.gifContractedBlock.gif
public string Name dot.gif{
ExpandedSubBlockStart.gifContractedSubBlock.gif  
get dot.gifreturn name; }
ExpandedSubBlockStart.gifContractedSubBlock.gif  
set dot.gif{ name = value; }
ExpandedBlockEnd.gif}

错误信息是:
error CS0182: 属性参数必须是常数表达式、typeof 表达式或数组创建表达式

其他地方我并未发现类似的例子。

顺便提一下,判定为空字符串的几种写法,按照性能从高到低的顺序是:

s.Length == 0  优于 s == string.Empty  优于 s == "" 

这个结论来自于:
http://www.cnblogs.com/allenlooplee/archive/2004/11/11/62805.html

转载于:https://www.cnblogs.com/RChen/archive/2005/09/13/236073.html

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

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

相关文章

pythonweb服务器部署iis_IIS部署python Web(FLASK试例)

开发环境:python3.6 、win7、pycharm20171、安装及配置IIS控制面板中>-程序和功能>-打开或关闭WINDOWS功能配置Internet信息服务配置万维网服务2、安装URL重写组件下载安装Web平台安装程序 5.0 (WEB PLATFORM INSTALLER 5.0)安装URL Rewrite 2.03、安装wfastc…

WPF开源框架项目

好久博客未更新新博文了,今天介绍一个WPF开源框架MaterialDesignInXamlToolkit废话不多说先让我们来看看框架得几张截图 让我们一起来看看源代码得结构如下图 接下我们运行代码看看运行后得截图 通过查看源代码, 由于是基于原生得状态进行修改样式及动画达到, 所以引…

rust房屋建造蓝图_都说蓝图,而不是白图、红图,你知道为什么?

文学上喜欢把对未来的构想或计划,称为蓝图。蓝图(英文:blueprint)在工业上指“蓝图纸”(晒图纸的俗称),因为图纸是蓝色的,所以被称为“蓝图”。也许是因其具有易于保存,不会模糊,不会掉色,不易玷…

洛谷P1085不高兴的津津

转载于:https://www.cnblogs.com/LITTLESUNwl/p/10417533.html

统计学习方法 学习笔记(五):支持向量机(下)

通过支持向量机(上)和支持向量机(中)的介绍,对支持向量机应该有点感性的认识啦!在这个学习笔记中,来继续探寻带核函数的支持向量机(解决如下图所示的问题) 对解线性分类问…

是先设计mysql表再进行php代码_PHP与RBAC设计思路,数据表设计与源码讲解

权限系统模块对于互联网产品是一个非常重要的功能,可以控制不同的角色合理的访问不同的资源从而达到安全访问的作用权限控制有哪些模型ACLRBAC 基于角色的访问控制从上图我们可以看出,ACL是用户和权限直接关系的,而RBAC则是通过角色间接关联用…

SQL实现split函数,自定义分割字符,自定义取出第几个分割字符前的字符串

自定义取出第几个分割字符前的字符串,默认位置(0)格式:dbo.split(字段名,分隔字符,取出的第几个字符串)如果没有分隔的字符,则返回整个字符串。如果取出的位置字符串的位置超出Index则返回空。CREATE FUNCTION [dbo].[…

判断页面关闭的方法 UNLOAD/onbeforeunload

最近一个朋友做在线统计,问我怎么判断用户登陆和离开。获得用户登陆不用说了,大家都知道,判断离开的话就有一点问题了,如果说用户都是按照设计者的规定的范围触发退出事件离开的话那就没什么难度了,但是用户的离开方式…

mysql 第几周 时间戳_php时间戳函数实现计算第几周,以及当天所在周的具体日期范围...

<html><script language"javascript">function showdate(){c new Date(2008,1,29);//输入开学的日期.注意,月份是从0-11;comperc.getTime();//以2008年2月29日作为上半学期结束。然后记录新的开学日期var now new Date();//获取当前时间var d_nownow.ge…

java学习笔记④MySql数据库--03/04 DQL查询

03 使用DQL查询数据&#xff08;一&#xff09; 04 使用DQL查询数据&#xff08;二&#xff09; DQL 数据查询语言 select select * 方式效率低 AS 取别名 (给字段取别名,给表取别名,给计算结果取别名) as取别名时,可省略as distinct 去重 所有字段一起不重复算一条记录 selec…

2005国产空间信息系统软件测评结果揭晓

记者&#xff1a;云洲 来源&#xff1a;www.3sNews.net 责编&#xff1a;小柯 [3sNews讯]2005年12月27&#xff0c;为期两天的“地球观测与导航技术领域科技发展研讨会”于中国科技会堂胜利召开&#xff0c;备受业界关注的2005国产空间信息系统软件测评结果在会上揭晓&am…