熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

對於C#比較運算符==的一點想法

2013-11-13 09:44:34  來源: .NET編程 

  ==運算符用於比較兩個操作數是否相對對於基本數據類型就不用多說了沒有太大問題

  對於引用數據類型如類對象string可能就有一點疑惑

  string s=test;

  string s=py(s

  ConsoleWriteLine(s==s

  ConsoleWriteLine((object)s==(object)s

  輸出結果是

  true

  false

  稍微修改一下

  string s=test;

  string s=s;

  或string s=test;

  則輸出結果是

  true

  true

  可能對於string類型常量是保存在堆棧中的然後string類型對象就引用同一個對象

  而用py()方法會在堆棧中產生一個新的string對象

  對於==操作符

  如果兩個基本數據類型的操作數它們的數值相等它們就被認為是相等的

  如果兩個object類型的表達式都指向相同的對象或者都是空它們被認為是相等的

  如果字符串實例有相同的長度並且在每個字符的位置都相同或者都為空它們被認為是相等的

  以上條是在某本書上看到的


From:http://tw.wingwit.com/Article/program/net/201311/11466.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.