2014-02-21 46 views
-1

我的目標是通過myDictionaryfunction1function2並從function2打印出來。我是一個新手,所以很有可能我的語法或格式不正確。將字典從一種功能傳遞到另一種功能並打印出來

// This is my main program 
class Program 
{ 
    static void Main(string[] args) 
    { 
     function1(); 
    } 
} 

// Create myDictionary in this function and then pass it to function2 
static public void function1() 
{ 
    Dictionary<string, string> myDictionary = new Dictionary<string, string>(); 
    myDictionary.Add("FirstName", "John"); 
    myDictionary.Add("LastName", "Walter"); 

    // passing myDictionary to another function 
    function2(myDictionary); 
} 

// Passing myDictionary to this function 
static public function2(myDictionary<string, string>) 
{ 
    // print myDictionary from here 
} 
+0

那麼,有什麼是你問的具體問題?它不編譯?或者你正在試圖找到合適的打印方法? –

回答

0
public static Dictionary<string, string> function2(Dictionary<string, string> myDictionary) 
{ 
    // print myDictionary from here 
} 

對於每一個參數,你需要指定類型,其次是參數的名稱。

+1

...並指定返回類型。 – tvanfosson

+0

對不起,錯過了。 –

0

方法或函數可能有一個參數列表。這是該方法的名稱後括號之間的部分:

void FunctionName(/* parameters here */) 
{ 
} 

的參數始終是這樣的:

Type name 

哪裏Type是值的類型,並name是你想要的任何合法的標識符。如果需要多個參數,請用逗號分隔:

void MethodName(Type1 name1, Type2 name2) 
{ 
} 

還要注意方法名前void。這表明該方法預計不返回值。如果您希望函數返回一個值,只需將void替換爲類型的即可。


在你的情況,Dictionary<string, string>是類型和名稱可能是,例如,someDictionary。請注意,它不一定是myDictionary,但它可以。

static public void PrintDictionary(Dictionary<string, string> someDictionary) 
{ 
    // print someDictionary from here 
} 

然後調用它像你這樣:

PrintDictionary(myDictionary); 

你的代碼的其餘部分是正確的。你只需要找出如何打印你的字典。例如:

static public void PrintDictionary(Dictionary<string, string> someDictionary) 
{ 
    foreach(KeyValuePair<string, string> pair in someDictionary) 
    { 
     Console.Write(pair.Key); 
     Console.Write(" => "); 
     Console.WriteLine(pair.Value); 
    } 
} 

注意,我在我的例子更名function2PrintDictionary。方法或函數名稱應該是一個有意義的名稱,C#約定是以大寫字母開頭。

1

聲明你第二個功能是這樣的:

//passing myDictionary to this function 
static public void function2(Dictionary<string, string> myDictionary) 
{ 
    foreach (var v in myDictionary) 
     Console.WriteLine(string.Format("{0}: {1}", v.Key, v.Value)); 
} 

乾杯

相關問題