我試圖通過它們的類型比較兩個IList<T>
。兩個名單都有相同的T
,因此我認爲他們應該有相同的類型。比較通用列表的類型
在工具提示中的Visual Studio中的調試模式中,我可以讀取它們的類型,它是相同的。
但是Equals()
螞蟻==
運營商返回false
。
任何人都可以解釋這種行爲?
小例子:
class Program
{
static void Main(string[] args)
{
IList<string> list1 = new List<string>();
IList<string> list2 = new List<string>();
var type1 = list1.GetType();
var type2 = typeof(IList<string>);
if (type1.Equals(type2))
{
Console.WriteLine("equal");
}
else
{
Console.WriteLine("non equal");
}
Console.ReadLine();
}
}
==>不等於
編輯: 我coose一個壞榜樣,這一個顯示我是想給它的方式。
我使用.net 3.5
你真的嘗試您的具體的例子嗎?我希望這能起作用...... –
我想,你需要編譯調試器的代碼才能進入正確的行。 – shahkalpesh
我假設typeof(列表)總是返回對類的同一個實例的引用類型 –
Seb