, string
모든 참조 형식 (class
ES)가 이미 널 (NULL) 때문에 (Nullable<string>
에 대한 바로 가기입니다) ?
필요하지 않습니다. 값 유형 (struct
초)에만 적용됩니다.
그 외에도 null
(또는 NullReferenceException
을 얻을 수 있는지)을 확인하기 전에 세션 값에 ToString()
을 호출하면 안됩니다. 또한 null
에 대한 ToString()
의 결과를 확인하지 않아도됩니다. 올바르게 구현 된 경우 null
을 반환하지 않아야합니다. 그리고 세션 값이 비어있는 경우 null
을 반환 하시겠습니까? string
(""
)?
public string SessionValue(string key)
{
if (HttpContext.Current.Session[key] == null)
return null;
string result = HttpContext.Current.Session[key].ToString();
return (result == "") ? null : result;
}
이 같은 내가 작성합니다 있지만 (빈 string
를 돌려 그 세션 값에 포함 된 내용 인 경우) :
이
당신이 쓰고 무엇을 의미하는지에 해당
public string SessionValue(string key)
{
object value = HttpContext.Current.Session[key];
return (value == null) ? null : value.ToString();
}
"모든 때문에 참조 유형 (클래스)은 이미 nullable입니다. " -> 그렇게 보이지는 않습니다. '공용 클래스 vector {public static vector func() {return null; }}'오류가 발생합니다. – Assimilater
인터페이스가 항상 nullable 인 것 같습니다 – Assimilater
@Assimilater 방금 코드를 시도했습니다. 그것은 나를 위해 컴파일되고 달렸다. 'vector'는 클래스이므로'func()'는 확실히'null'을 반환 할 수 있습니다. – Lucas