developer tip

개체 참조가 개체의 인스턴스로 설정되지 않았습니다.

optionbox 2020. 10. 19. 07:59
반응형

개체 참조가 개체의 인스턴스로 설정되지 않았습니다.


프로그램을 실행할 때이 오류가 계속 발생합니다.

개체 참조가 개체의 인스턴스로 설정되지 않았습니다. 설명 : 현재 웹 요청을 실행하는 동안 처리되지 않은 예외가 발생했습니다. 오류 및 코드에서 오류가 발생한 위치에 대한 자세한 내용은 스택 추적을 검토하십시오. 예외 정보 : 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

반응형