-2
此方法啓動並且用戶可以選擇第一個或第二個文件。我如何製作它,以便myArray根據結果而變化。目前它說myArray在當前上下文中不存在。如果文件2是選擇,那麼我如何設置myArray到該文件的值?修復線性搜索C#
任何幫助表示讚賞。謝謝。
代碼:
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();
}
將您的變量移動到適當的作用域級別。你在該塊內聲明它,所以它只能存在於該塊內。 –
類型'String [] myArray = null;'直接在'int operation ='下面並將調用從'String [] myArray = File.'更改爲'myArray = File.',然後您可以處理空引用異常用戶以後不會輸入1或2。這是一個「範圍」問題,在{{}內部定義的東西只能在相同的括號內進行訪問。您希望將'myArray'範圍擴展到'search(){}'括號,而不是'if(operation == x){}'括號 – Quantic