欢迎来到 IT实训基地-南通科迅教育
咨询电话:0513-81107100
C#字符串留用机制与Lock
2017/2/21
科迅教育
547
南通Web前端学习心得
因为C#的字符串留用机制,下面的代码:
 
[csharp]  
string theKey1 = "XXXXXX";  
string theKey2 = "XXXXXX";  
if (object.ReferenceEquals(theKey1, theKey2))  
{  
    string theC = theKey1 + theKey2;  
}  
 
string theKey1 = "XXXXXX";
string theKey2 = "XXXXXX";
if (object.ReferenceEquals(theKey1, theKey2))
{
    string theC = theKey1 + theKey2;
}theKey1,theKey2指向的是同一个地址.但下面的代码:
 
 
[csharp]  
int theA = 1;  
            string theKey1 = "XXX"+theA;  
            string theKey2 = "XXX"+theA;  
            if (object.ReferenceEquals(theKey1, theKey2))  
            {  
                string theC = theKey1 + theKey2;  
            }  
 
int theA = 1;
            string theKey1 = "XXX"+theA;
            string theKey2 = "XXX"+theA;
            if (object.ReferenceEquals(theKey1, theKey2))
            {
                string theC = theKey1 + theKey2;
            }
中theKey1,theKey2引用是不相等的.说明C#的字符串留用机制仅针对字符串常量.
 
从上面的特性,其实Lock的时候最好不要用字符串,特别是拼接的字符,会没有效果.
我本来想利用这种拼接特性来完成不同级别的分层加锁,但经过测试没有效果.后面改用了其它方法才得以实现.
77
关闭
先学习,后交费申请表
每期5位名额
在线咨询
免费电话
QQ联系
先学习,后交费
TOP
您好,您想咨询哪门课程呢?
关于我们
机构简介
官方资讯
地理位置
联系我们
0513-91107100
周一至周六     8:30-21:00
微信扫我送教程
手机端访问
南通科迅教育信息咨询有限公司     苏ICP备15009282号     联系地址:江苏省南通市人民中路23-6号新亚大厦三楼             法律顾问:江苏瑞慈律师事务所     Copyright 2008-