今日在协助一个项目团队作一个日本项目的修改,其中大体业务是由于技术和业务层次的更迭,
导致现在的数据库交陈旧,同时一些字段需要添加和更换,于是作了一个数据库移植的程序让客户使用。
具体涉及到了2大业务数据表,一个是Master 一个是Data
根据客户写好的式样书进行修正。其中有这么一项修改内容。
[
老数据表中的2个字段 FromTime 和 ToTime
要求对上述2个字段进行比较 若 FromTime 大于 ToTime 则进行在新的数据库里对应的UrnSpan字段更新为 1
若 相等 更新为0 否则为NULL
]
问题就是出现在这个[否则为NULL]上了。
根据查找相关资料 于是决定这里使用类似如下语句编写
[
UrnSpan = String.Empty;
]
但是上述是不符合客户式样书要求的
应该用
[
UrnSpan = null;
]
于是针对 NULL,String.Empty 和 “”上网进行了一些验证。
-------------------------------------------------------------------------------
string.Empty不分配存储空间
""分配一个长度为空的存储空间
所以一般用string.Empty
为了以后跨平台,还是用string.empty
在 C# 中,大多数情况下 "" 和 string.Empty 可以互换使用。比如:
![在新窗口查看图片](https://i-blog.csdnimg.cn/blog_migrate/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
![在新窗口查看图片](https://i-blog.csdnimg.cn/blog_migrate/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
![在新窗口查看图片](https://i-blog.csdnimg.cn/blog_migrate/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
![在新窗口查看图片](https://i-blog.csdnimg.cn/blog_migrate/34031c708bfe702fe82d01ff5c6593aa.gif)
![在新窗口查看图片](https://i-blog.csdnimg.cn/blog_migrate/0be121fa5b8988fbabbbc526af3b0fc0.gif)
![在新窗口查看图片](https://i-blog.csdnimg.cn/blog_migrate/b854634c0904529d4018c4c3336be836.gif)
![在新窗口查看图片](https://i-blog.csdnimg.cn/blog_migrate/587e34b10dcf5efbc0859b53470a2db3.gif)
![在新窗口查看图片](https://i-blog.csdnimg.cn/blog_migrate/b854634c0904529d4018c4c3336be836.gif)
![在新窗口查看图片](https://i-blog.csdnimg.cn/blog_migrate/4fd96b3cf02f4c7b5c8964ac8167f7af.gif)
if语句成立
判定为空字符串的几种写法,按照性能从高到低的顺序是:
s.Length == 0 优于 s == string.Empty 优于 s == ""
您关于String.Empty和Null的问题是这样的,这两个都是表示空字符串,其中有一个重点是string str1= String.Empty和 string str2=null 的区别,这样定义后,str1是一个空字符串,空字符串是一个特殊的字符串,只不过这个字符串的值为空,在内存中是有准确的指向的,string str2=null,这样定义后,只是定义了一个string 类的引用,str2并没有指向任何地方,在使用前如果不实例化的话,都将报错。textBox1.Text的值为零长度字符串 ""。
--------------------------------------------------------------------------------