我正在尝试在 Visual Studio 中为我的班级编写一个字谜分析器,但是当我从另一个班级调用 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 类中编写列表时,一切都应该是这样。
关于为什么会发生这种情况的任何建议?