私は数字のために検索したいテキストファイルを持っています。見つかった場合、メッセージ番号が見つかると見つからない場合は出力されません。テキストファイルを使用した線形検索C#
現在、テキストファイルを文字列に読み込んで、検索する番号をユーザーに尋ねました。私が立ち往生している部分は、文字列の線形検索のコードです。使用する他のファイルに単語が含まれている可能性があるため、文字列を検索したい。
これまでコード:
public static void search() // Search for values
{
Console.WriteLine("Enter 1 to search through days");
int operation = Convert.ToInt32(Console.ReadLine());
if (operation == 1)
{
String[] myArray = File.ReadAllLines("Data1/Day_1.txt");
Console.WriteLine("Enter number to search");
String myString = Console.ReadLine();
}
}
私は、線形探索のためのいくつかのコードを見たが、私の例に適切にそれを適用する方法がわかりませんでした。どのように動作するのか理解していますが、問題は正しい順序でコードを取得することです。 C#でのコーディングではそれほど優れていません。どんな助けでも大歓迎です。おかげ
一般線形検索コード:
static int Search(string[] list, string elementSought)
{
bool found = false;
int max = list.Length - 1;
int currentElement = 0;
do
{
if (list[currentElement] == elementSought)
{
found = true;
}
else
{
currentElement = currentElement + 1;
}
} while (!(found == true || currentElement > max));
if (found == true)
{
return currentElement;
}
else
{
return -1;
}
}
アップデート:私は2番目のファイルを選択した場合、それは一人として、私として使用することを選択し、そのように私はそれを変更するにはどうすればよい
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();
}
アレイ?
エラーを返すRegexが見つかりません – Russsu
using usingステートメント "using System.Text.RegularExpressions;" .csファイルの一番上に表示されます。 –
固定しておいてください – Russsu