Session 변수로 String.IsNullOrEmpty를 잘못 사용한 작업에서 동료 동료가 String.IsNullOrEmpty 사용을 거부합니다. 몇 가지 조사 후, 분명히 MSDN (link)에 IsNullOrEmpty 나열된 버그 (하단에 메모를 읽기) 거기에 4 월 4, 2006 년C# String.IsNullOrEmpty : 좋든 나쁘니?
, 그하게합니다 (JIT에서 가능) 버그 있다 최적화가 인 경우이 메서드가 실패합니다. C#과 VB 모두에 영향을 미치는 것으로 알려져 있습니다.
자세한 내용은 여기 (link)에서 찾을 수 있습니다. Microsoft는 버그가 'Orcas'로 바뀌었지만 유감스럽게도 내 고용주는 여전히 VS2005를 사용합니다. 그러나 문제가 2008 년에 수정 된 경우에도 마찬가지입니다. 그건 나와 잘 맞습니다. 나에게 IsNullOrEmpty 내 코드의 내 동료의 거부는 시각 장애인 무지이지만 하지 세션 변수를 오용 이외는 다른 사용하는 이유
(IMO) 그는 확실히 말해 수 없습니다. 나는 문제없이 IsNullOrEmpty를 코드 전체에 사용했다. 개인적으로 한 문장에서 두 가지 일을하는 것 외에도 훨씬 더 읽기 쉽다고 생각합니다.
주제에 대한 의견을 검색 한 결과, 찬성/반대 의견을받는 사이트를 찾았습니다. 여기에 내가 이것에 대해 읽은 사이트의 일부입니다 :
https://blog.rthand.com/post/2006/06/22/1063.aspx
http://www.omegacoder.com/?p=105
한 사이트 (http://dotnetperls.com/isnullorempty) 꽤 잘하는 방법 (IMHO) 요약 : 여기
을 우리 그 문자열 형식에 대한 메서드를 찾고있는 좋은 를 확인하는 상대적으로 좋은 비교적 우리에게 제공하는 어떤 방법을 보았다.문자열을 저장하거나 사용하는 것이 좋습니다. 그러나 성능이 인 경우 수동 null 확인을 사용하는 것이 좋습니다. 빈 문자열 은 다른 방법으로도 테스트 할 수 있으며 여기 내 연구는 길이가 가장 빠릅니다.
버그 수정 장소에 가정 (제대로 작동)/2010 VS2008/등.에, VS2005로하고 넘어 String.IsNullOrEmpty를 사용하는 어떤 이유 하지이있다? 나는 이것이 어리석은 작은 방법에 대해 조금 지나치게 과장된 것처럼 보일지 모른다는 것을 깨닫는다. 그러나 나는 누군가가 대안적인 설명을하고 있다면 그 장면 뒤에 더 많은 것이 있는지 알고 싶다.
감사합니다. 아직 서비스 팩이 설치되어 있지 않은 경우 서비스 팩을 얻는 방법에 대해 알아 보겠습니다. 나는 뛰어 내야 할 모든 농구를 잘 모릅니다. 그러나 어느쪽으로 든, 우리는 우리 웹 서버의 최신 서비스 팩을 상관없이 실행해야합니다. 감사! – osij2is