그래서 숫자를 검색하고자하는 텍스트 파일이 있고 그 파일을 찾으면 출력 된 메시지 번호를 찾은 다음 찾을 수 없습니다.텍스트 파일을 사용한 선형 검색 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;
}
}
업데이트 : 두 번째 파일을 선택하는 경우는 하나 같이 사용으로 것을 선택하는 있도록
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();
}
가 어떻게 변경합니까 내 정렬?
오류가 발생했습니다 정규식을 찾을 수 없습니다 – Russsu
using using using System.Text.RegularExpressions; .cs 파일의 맨 위에. –
고쳐주었습니다. – Russsu