沒有任何言語:.net字典有什麼不對?
public class MemoryDictionary<T>
{
private Dictionary<T, T> items = new Dictionary<T, T>();
public T GetValue<T>(T value)
{
if (!items.ContainsKey(value))
{
items[value] = value;
}
return items[value];
}
}
這裏有什麼問題,爲什麼不把它編譯?我的意思是,這實際上是說ContainsKey
方法有一個無效的參數,但是......它很愚蠢!爭論是正確的!
什麼奇怪的是:
public class MemoryDictionary<string>
{
private Dictionary<string, string> items = new Dictionary<string,string>();
public string GetValue<string>(string value)
{
if (!items.ContainsKey(value))
{
items[value] = value;
}
return items[value];
}
}
此代碼,並在那裏我選擇了一些特定類型的編譯好......我驚呆了任何代碼...
什麼是你所得到的確切編譯錯誤? – 2015-04-02 15:19:09
您說編譯的代碼充滿了多個編譯器錯誤...... – Servy 2015-04-02 15:19:21
作爲一個附註,任何時候您認爲C#語言或.NET類中的某一個都存在一個錯誤,您幾乎可以確定錯誤與您的使用相反。它是一個錯誤的語言或基礎庫的可能性很小。 – Servy 2015-04-02 15:29:05