我想爲我的類在Visual Studio中編寫一個anagram分析器,但是當我從另一個類調用getter時,我的列表是空的。c#我的getter不起作用
public class UserInput
{
private String fileName;
private string text;
private string[] words;
private List<string> preparedWord = new List<string>();
Regex reg = new Regex(@"(\s-|[^A-Za-z0-9])");
private string t = "testing";
public void promptFile()
{
Console.WriteLine("Enter a .txt file");
this.fileName = Console.ReadLine();
this.fileConversion();
this.wordSeperator();
// foreach (string word in this.preparedWord)
//{
// System.Console.WriteLine(word);
//}
//{
// System.Console.WriteLine(this.preparedWord.Count);
//}
}
public String getFileName
{
get { return this.t; }
}
private void fileConversion()
{
StreamReader streamReader = new StreamReader(this.fileName);
this.text = streamReader.ReadToEnd();
streamReader.Close();
Console.WriteLine(text);
}
public void wordSeperator()
{
this.words = text.Split(' ', ',', '.', ':','\t');
foreach (string s in words)
{
this.preparedWord.Add(reg.Replace(s, ""));// @"\W\S", ""));
}
}
public List<string> getPreparedList{
get
{
return this.preparedWord;}
}
}
}
這裏是我刪除不需要的字符,並提供有效字符的列表。我做了一個字符串來測試它是否會顯示它,但是preparedWord列表顯示不正確。
class AnagramManager
{
FileToStringConverter fileString = new FileToStringConverter();
UserInput u = new UserInput();
// string pattern = @"[\d-]";
//Regex reg;
String test = "123rrtdfr34 h%$5 yy.yy hjh-hk 788995a";
public static string RemoveDigits(string key)
{
return Regex.Replace(key, @"\d", "");
}
public void writeList()
{
foreach (string word in this.u.getPreparedList)
{
System.Console.WriteLine(word);
}
System.Console.WriteLine(this.u.getFileName);
}
}
當我打電話爲它寫它是空白的話,它說,計數爲0。一切都是因爲當我寫在UserInput類名單應該是方法。
有關爲什麼會發生這種情況的任何建議?
@ Smac89 - 不,他說得對 –
你確定'wordSeperator()'被調用嗎?它只被'promptFile()'調用,它不被任何東西調用。 –
@ musical_coder對不起,我忘了將這個類粘貼到我調用promptFile()的主要方法中。但是,它被稱爲。 – user2946695