개체 참조가 개체의 인스턴스로 설정되지 않았습니다.
이 질문에 이미 답변이 있습니다.
프로그램을 실행할 때이 오류가 계속 발생합니다.
개체 참조가 개체의 인스턴스로 설정되지 않았습니다. 설명 : 현재 웹 요청을 실행하는 동안 처리되지 않은 예외가 발생했습니다. 오류 및 코드에서 오류가 발생한 위치에 대한 자세한 내용은 스택 추적을 검토하십시오. 예외 정보 : System.NullReferenceException : 개체 참조가 개체의 인스턴스로 설정되지 않았습니다.
Source Error:
Line with error:
Line 156: if (strSearch == "" || strSearch.Trim().Length == 0)
올바른 방법은 무엇입니까?
.NET 4.0의 올바른 방법은 다음과 같습니다.
if (String.IsNullOrWhiteSpace(strSearch))
String.IsNullOrWhiteSpace
상기 이용 방법은 동일하다 :
if (strSearch == null || strSearch == String.Empty || strSearch.Trim().Length == 0)
// String.Empty is the same as ""
IsNullOrWhiteSpace 메서드에 대한 참조
http://msdn.microsoft.com/en-us/library/system.string.isnullorwhitespace.aspx
지정된 문자열이 Nothing인지, 비어 있는지 또는 공백 문자로만 구성되는지 여부를 나타냅니다.
이전 버전에서는 다음과 같이 할 수 있습니다.
if (String.IsNullOrEmpty(strSearch) || strSearch.Trim().Length == 0)
String.IsNullOrEmpty
상기 이용 방법은 동일하다 :
if (strSearch == null || strSearch == String.Empty)
즉 .Trim().Length == 0
, 예제 에 따라 "IsWhiteSpace"케이스를 확인해야합니다 .
IsNullOrEmpty 메서드에 대한 참조
http://msdn.microsoft.com/en-us/library/system.string.isnullorempty.aspx
지정된 문자열이 Nothing인지 빈 문자열인지를 나타냅니다.
설명:
당신은 보장 할 필요가 strSearch
없습니다 (또는 그 문제에 대한 모든 변수) null
는 도트 문자 (사용하여 역 참조하기 전에 .
당신이 전에 즉 -) strSearch.SomeMethod()
또는 strSearch.SomeProperty
당신이 그것을 확인해야합니다 strSearch != null
.
귀하의 예에서 문자열에 값이 있는지 확인하고 싶습니다. 즉, 문자열을 확인하고 싶습니다.
- null이 아님
- 빈 문자열 (
String.Empty
/""
)이 아님 - 공백이 아닙니다.
위의 경우 "Is it null?"을 입력해야합니다. 케이스를 먼저 사용하므로 문자열이 null
. 일 때 다른 케이스 (및 오류)를 확인하지 않습니다 .
.Net의 모든 버전 :
if (String.IsNullOrEmpty(strSearch) || strSearch.Trim().Length == 0)
.Net 4.0 이상 :
if (String.IsNullOrWhitespace(strSearch))
이 경우 strSearch는 아마도 null 일 것입니다 (단순히 비어 있지 않음).
사용해보십시오
String.IsNullOrEmpty(strSearch)
문자열에 내용이 없는지 확인하려는 경우.
약 1 년 전에 게시 된 것으로 알고 있지만 나중에 참조 할 수 있도록 사용자를위한 것입니다.
비슷한 문제가 발생했습니다. 제 경우에는 (간단하게 설명하겠습니다. 자세한 내용을 원하시면 알려주세요) 문자열이 비어 있는지 확인하려고했습니다 (문자열은 이메일 제목 임). 내가 무엇을하든 항상 동일한 오류 메시지를 반환했습니다. 나는 내가 제대로하고 있다는 것을 알았지 만 여전히 같은 오류 메시지를 던졌습니다. 그런 다음 이메일 (인스턴스 / 객체)의 제목 (문자열)이 이메일 (인스턴스)이 처음에 이미 null 인 경우 어떻게되는지 확인하고있었습니다. 이메일이 이미 null 인 경우 이메일 제목을 어떻게 확인할 수 있습니까? 이메일이 비어 있는지 확인했는데 제대로 작동했습니다.
subject (string)을 확인하는 동안 IsNullorWhiteSpace (), IsNullOrEmpty () 메서드를 사용했습니다.
if (email == null)
{
break;
}
else
{
// your code here
}
I want to extend MattMitchell's answer by saying you can create an extension method for this functionality:
public static IsEmptyOrWhitespace(this string value) {
return String.IsEmptyOrWhitespace(value);
}
This makes it possible to call:
string strValue;
if (strValue.IsEmptyOrWhitespace())
// do stuff
To me this is a lot cleaner than calling the static String
function, while still being NullReference safe!
참고URL : https://stackoverflow.com/questions/8206810/object-reference-not-set-to-an-instance-of-an-object
'developer tip' 카테고리의 다른 글
키를 기반으로 해시 맵 정렬 (0) | 2020.10.20 |
---|---|
Int를 Int로 나누고 Int 반환 (0) | 2020.10.19 |
HTTP 서블릿 요청을 한 번 읽은 후 POST 본문에서 매개 변수가 손실됩니다. (0) | 2020.10.19 |
자바 오버라이드 vs 숨기기-혼동 (0) | 2020.10.19 |
커서 루프에서 사용하기 위해 여러 열을 가져 오는 방법은 무엇입니까? (0) | 2020.10.19 |