LINQ에서 일부 쿼리를 수행하면서 해당 구현을 이해하고 싶었 기 때문에 동일한 디버깅을 생각했지만 Visual Studio는 그렇지 않았습니다. 인터페이스 구현에 들어가는 이유는 무엇인지 알 수 없습니다. 난 비주얼 스튜디오 커뮤니티 2015을 사용하고하는 것은 여기에 내 코드Visual Studio 2012에서 디버그를 허용하지 않습니다. 인터페이스 구현
class Client
{
static void Main(string[] args)
{
string[] words = { "aPPLE", "AbAcUs", "bRaNcH", "BlUeBeRrY", "ClOvEr", "cHeRry" };
var result = words.OrderBy(a => a, new CaseInsensitiveComparer());
Console.Read();
}
}
public class CaseInsensitiveComparer : IComparer<string>
{
public int Compare(string x, string y)
{
Console.WriteLine("x is " + x + " & y is " + y+" the value is "+ string.Compare(x, y, StringComparison.OrdinalIgnoreCase));
return string.Compare(x, y, StringComparison.OrdinalIgnoreCase);
}
}
하고 슬픈 부분은 내가 아니라 내 콘솔 창
Console.WriteLine에 아무것도 인쇄 할 수 없습니다 오전 ("x는" + x + "& y는"+ y + "값은"+ string.Compare (x, y, StringComparison.OrdinalIgnoreCase));
많은 중복 된 질문이 있습니다.하지만 모든 것을 시도했지만 그 중 아무 것도 나를 위해 일하지 않았습니다.
- 나는
- 이 솔루션을 닫고 다시 열고이 아무것도 나를 위해 일한 재 구축 솔루션
- 에게 삭제를 Obj 및 빈 폴더를 청소했습니다.
UPDATE 1
더 나은 방식으로 메커니즘을 설명하여 잘못된 내용을 이해할 수 있도록 –
IComparer 구현 내에 중단 점을 넣어도 디버깅 할 수 없었습니다. –
@LijinJohn https://blogs.msdn.microsoft .com/ericwhite/2006/10/04/lazy-evaluation-and-in-contrast-eager-evaluation /을 사용하면 더 잘 이해할 수 있습니다. – adrianbanks