引文:
在csdn上的問題:
在這裡重新說明一下:
using system;
class class1}}
問題是:
第一部分:
t = "test";
console.writeline((object)s == (object)t);
返回true
第二部分
t=t+"d";
t=t.substring(0,t.length-1);
console.writeline((object)s == (object)t);
console.readline();
是對字串操作了之後,重新得值.結果是false
還有一點:在跟蹤(object)s == (object)t 時候,總是顯示true,
偶的答案是:
輸出資料時,有些讓人容易疑惑的地方:
t = "test";
console.writeline((object)s == (object)t);
返回true
這是因為,字串在處理時,如果沒有進行操作,就直接指向那個記憶體位址值.
而在t=t+"d";
t=t.substring(0,t.length-1);
console.writeline((object)s == (object)t);
這裡時,
由於字串內容發生變化,所以,clr會重新給t分配一塊記憶體.
這時再用console.writeline((object)s == (object)t);
比較時,就是false了,因為它們引用的記憶體位址不一樣.
為什麼在vs2002監視時,會是true呢?
其實也很簡單.
是因為,vs2002它在debug時,對於
(object)s == (object)t
中的(object)s (或(object)t)
來說,裡面只有乙個string "test"
也就是說(object)s能讓vs2002看到的只有這麼乙個東西.
所以比較時,也就返回true了.
不再不好意思
1 我決定了將知識 邏輯應用於生活。1 我會仔細分析彼此雙方的優勢 劣勢 目的 需求 價值 人品 等等一系列。以及我自己要的,還有我的應對策略。我決定這麼做。2 當然這遠遠不夠。我決定在日常生活中利用這些思想。比如吃飯 休息 購物 我決定應用。我決定形成我自己的方法。2 我決定堅守原則 知己知彼,百...
別讓不好意思害了你 。
昨晚和乙個本科同學嘮嗑 祭奠了一下青春 想到本科畢業的時候除了畢業答辯 班裡還組織了最後一次班會 四年的相處大家已經很熟悉了 說是班會到也算不上 就是乙個班級的人聚到一起 每個人上台簡單講了一段話 要麼回憶一下過去的四年 要麼分享一些經驗 其中乙個同學的 ppt 標題現在依舊很深刻 是的 標題就是 ...
不好意思,你這個加分理由不行
周五了,又該周測了,今天和以往一樣,上午前兩節課都在上課,第三節課進行測試,這週的填空題有點兒多,所以考試的時間較之前也加了點兒。剛開始考呢,某同學不知道什麼原因,兩次考試機會都已經浪費,但是題還沒有做完,為了安撫該同學,又加了一次考試機會,讓其重新做一遍,好在第三次順利完成測試,考了80多分。部分...