有什麼辦法可以避免類型成員在這種類型的聲明中重複類型?避免在類成員初始化程序中重複類型?
Dictionary<string, int> myDict = new Dictionary<string, int>();
有什麼辦法可以避免類型成員在這種類型的聲明中重複類型?避免在類成員初始化程序中重複類型?
Dictionary<string, int> myDict = new Dictionary<string, int>();
不,您只能使用var
作爲局部變量。恐怕基本上你會陷入重複。
Eric Lippert有很棒的blog post on this。
有趣的一點:Java的執行隱式類型和類型推斷反過來,根據你想分配給什麼。這意味着這是合法的:
// Note: This is Java, not C#!
class CollectionHelpers
{
public static <T> List<T> newList()
{
return new ArrayList<T>();
}
}
// In another class (doesn't have to be static)
static List<String> names = CollectionHelpers.newList();
當然 - 使用VB.NET。 ;)
myDict as New Dictionary(Of String, Integer)()
雖然它不是問題直接相關的,有些人可能有興趣,你可以在C#3使用集合初始化做到這一點:
var myDict = new Dictionary<string, int>()
{
{ "one", 1 },
{ "two", 2 },
{ "three", 3}
};
HTTP://blogs.msdn。 com/ericlippert/archive/2009/01/26/why-no-var-on-fields.aspx – 2009-07-22 21:03:08
刪除我的未回答。謝謝你糾正我。 – 2009-07-22 21:03:16