此方法启动,用户可以选择第一个或第二个文件。如何使myArray根据结果进行更改。目前它说myArray在当前上下文中不存在。如果选择文件2,那么如何将myArray设置为该文件值?
感谢任何帮助。谢谢。
代码:
public static void search() // Search for values
{
Console.WriteLine("1=Day 2=Depth");
int operation = Convert.ToInt32(Console.ReadLine());
if (operation == 1)
{
String[] myArray = File.ReadAllLines("Data1/Day_1.txt");
}
else if (operation == 2)
{
String[] myArray = File.ReadAllLines("Data1/Months_1.txt");
}
Console.WriteLine("Enter number to search");
String myString = Console.ReadLine();
int i = 0;
int j = 0;
var regex = new Regex(myString);
foreach (string array in myArray)
{
if (regex.IsMatch(array))
{
i++;
}
else if (regex.IsMatch(array))
{
j++;
}
}
if (i > 0)
{
Console.WriteLine("Found match! - {1} Appeared {0} time(s)",i,myString);
}
else if(j == 0)
{
Console.WriteLine("No Match for {0} in Data", myString);
}
Console.ReadLine();
}
答案 0 :(得分:1)
您已在myArray
&范围内声明if
。 else
。您应该在外面声明它,以便可以从函数中的任何位置访问它,如下所示:
String[] myArray = null;
if (operation == 1)
{
myArray = File.ReadAllLines("Data1/Day_1.txt");
}
else if (operation == 2)
{
myArray = File.ReadAllLines("Data1/Months_1.txt");
}
而不是
if (operation == 1)
{
String[] myArray = File.ReadAllLines("Data1/Day_1.txt");
}
else if (operation == 2)
{
String[] myArray = File.ReadAllLines("Data1/Months_1.txt");
}
您可以在C#here中阅读有关范围的更多信息。