2012-06-11 10 views
3

'연산자'== '를'메서드 그룹 '및'문자열 '형식의 피연산자에 적용 할 수 없습니다. "오류 이 코드의 세 번째 줄에 나는 왜 그런지 모릅니다. '메서드 그룹'및 '문자열'형식의 피연산자에 연산자 '=='을 적용 할 수 없습니다.

where (PRIORITiesItem.Prioid == null || PRIORITiesItem.Prioid.Contains("1%")) 
    && (SITEItem.Id == "TH" || SITEItem.Id == "NM") 
--> && (sv.Glseg.TrimStart == "703" || sv.Glseg.TrimStart == "704" || sv.Glseg.TrimStart == "705")   
    && (CREWItem.Crewid == null || !CREWItem.Crewid.Contains("2-%") && CREWItem.Crewid.Contains("MAINT") 
     || (CREWItem.Crewid.Contains("ELECT") || CREWItem.Crewid.Contains("INST") 
    && !WORKORDERTYPEItem.Id.Contains("Standing"))) 

는 처음에 나는 어쩌면 "=="그래서 내가 "="하지만 그건 아니었다 문제를 chnaged 좋아하지 않는다고 생각했다. 게다가, 그 바로 위에있는 줄은 "=="을 사용하고 잘 작동합니다. Glseg는 메서드가 아닌 테이블 내의 필드이므로 문자열을 좋아하면 안됩니다. 누구든지 제가 잘못 가고있는 아이디어가 있습니까? C#에서

+0

는'이 방법 또는 속성을 TrimStart'인가? –

+0

@JeremyHolovacs 그것은 방법입니다. 나는 내가 잘못 가고있는 곳을 본다. 감사합니다. –

답변

19

, 그 방법은 () 호출 할 필요가 :

str.TrimStart() == "bla" 
+0

그게 문제였습니다. 고맙습니다! –

+1

@ProgrammingNewbie를 일반적인 진단 규칙으로 사용하면 메서드 그룹에 대한 오류 메시지가 표시되고 메서드 그룹과 관련하여 아무 것도하지 않으려는 경우 메서드 호출을위한 괄호()를 잊었음을 의미합니다 . – AakashM

+1

@AakashM 그 충고에 감사드립니다. 나는 그 문제가 무엇인지 알았어 야했고 너무 당황 스러웠다. 나는 처음으로 인턴쉽을하고 있는데, 오랜 기간 동안 코드를 다루었을 때가 처음인데, 잠시 후에 이런 식으로 바보 같은 것들을 그리워하는 것 같았습니다. 모든 것이 섞여 하나의 큰 덩어리가되기 시작합니다. 나는 더 잘 될 것이다. 모든 사람의 시간을 낭비해서 죄송합니다. –

관련 문제