파일의 부분 문자열을 찾으려고합니다. 파일을 열고 각 줄을 한 번에 한 줄 씩로드합니다. 그런 다음 각 문자열에 하위 문자열의 상태 중 하나가 포함되어 있는지 확인하고 싶습니다. 상태가 문자열에 있음을 알고 있더라도 "하위 문자열을 찾을 수 없습니다"를 반환하기 때문에 의도 한대로 작동하지 않습니다. 내가 도대체 뭘 잘못하고있는 겁니까?C#을 사용하여 LINQ에 사용하는 방법
편집 : 나는 오류가이 라인은 완전히 틀렸다 지금 무엇을 실현 :
if (lines.Any(stringToCheck.Contains))
그것은 다음과 같이해야한다 : 도움말들에 대한
if (stringToCheck.Any(s.Contains))
감사합니다.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
namespace ConsoleApplication2
{
class Program
{
static void Main (string[] args)
{
string[] stringToCheck = {"Alabama","Alaska","Arizona","Arkansas","California","Colorado"};
string[] lines = File.ReadAllLines(@"C:\C# Project\sampledata.dat");
foreach (string s in lines)
{
if (lines.Any(stringToCheck.Contains))
{
Console.WriteLine("Found substring");
Console.WriteLine(s);
Console.ReadLine();
}
else
Console.WriteLine("Could not find substring");
Console.WriteLine(s);
Console.ReadLine() ;
}
}
}
}
이 줄 자체가 잘못되었습니다. lines.Any (stringToCheck.Contains) 루프에 있지만 stringToCheck가 둘 이상의 값을 가지고 있지만 모든 라인을 반복 처리하고 있습니다. 여기에 포함 된 내용도 여기에서 실패 할 수 있습니다 – Gururaj
먼저 'stringA.Contains stringB)'. 그것은 무엇을합니까? 그런 다음 - 문자열에 대해 잠시 잊어 버리십시오. 포함합니다 - 린크의 목록은 무엇입니까? 일부 (일부)는합니까? – elgonzo
@ Grururaj 당신은 답변이 아니라 코멘트로 게시해야합니다. –