2015-05-06 68 views
0

我宣佈我的計劃的開端,這樣不能讓我的功能,看看我的字典

public partial class Form1 : Form 
{ 
    public Form1() 
    { 
     InitializeComponent(); 

     Dictionary<string, int> dictionary = new Dictionary<string, int>(); 
    } 

字典正確的,我有一個使用它發送一個字符串填充字典功能

public IDictionary<string, int> SortTextIntoDictionary(string text) 
    { 
     text = text.Replace(",", ""); //Just cleaning up a bit 
     text = text.Replace(".", ""); //Just cleaning up a bit 
     text = text.Replace(Environment.NewLine, " "); 
     string[] arr = text.Split(' '); //Create an array of words 

     foreach (string word in arr) //let's loop over the words 
     { 
      if (dictionary.ContainsKey(word)) //if it's in the dictionary 
       dictionary[word] = dictionary[word] + 1; //Increment the count 
      else 
       dictionary[word] = 1; //put it in the dictionary with a count 1 
     } 
     return(dictionary); 
    } 

但是我的函數沒有看到我在開始創建的字典,我不知道如何從函數返回字典。我試圖聲明我的字典靜態和/或公共等,但我只是得到更多的錯誤。

+1

你應該把字典變量出方在Form1()方法,使其向全局變量 –

+1

@ trungtin1710這不是一個全局變量。 – Rawling

+1

L-Three指出正確。你不能在你的方法中訪問它,因爲它超出了範圍。括號('{'和'}')顯示範圍。在這個括號之外,變量不再存在。垃圾回收器釋放了內存。 – Jens

回答

5

聲明你的字典,類級別:

public partial class Form1 : Form 
{ 
    public Dictionary<string, int> dictionary = new Dictionary<string, int>(); 

    public Form1() 
    { 
      InitializeComponent();   
    } 
}