Возврат строковых типов, допускающих значение NULL

Как уже говорили все, string не str нужен ? (который является .cs-file ярлыком для Nullable), потому что empty-string все ссылочные типы (class es) уже empty-string допускают значение NULL. Это string применимо только к типу значения c# (struct s).

Кроме того, вы не должны string вызывать ToString() для значения сеанса c#.net до того, как проверите, является strings ли оно null (или вы можете получить c-sharp NullReferenceException). Кроме того, вам не нужно c# проверять результат ToString() для strings null, потому что он никогда не visual-c# должен возвращать null (если visual-c# он правильно реализован). И strings вы уверены, что хотите вернуть nullable-types null, если значение сеанса пустое c#-language string ("")?

Это эквивалентно тому, что c# вы хотели написать:

public string SessionValue(string key)
{
    if (HttpContext.Current.Session[key] == null)
        return null;

    string result = HttpContext.Current.Session[key].ToString();
    return (result == "") ? null : result;
}

Хотя я visual-c# бы написал это так (верните strings пустой string, если это то, что c# содержит значение сеанса):

public string SessionValue(string key)
{
    object value = HttpContext.Current.Session[key];
    return (value == null) ? null : value.ToString();
}

c#

string

nullable

2022-06-22T21:03:34+00:00