Подтвердить что ты не робот

Есть какой-то isset() на .NET/С#?

Мне нужно проверить, есть ли параметр в запросе uri.

Поэтому мне нужно проверить, установлен ли этот параметр. Есть ли функция на .NET/С#?

4b9b3361

Ответ 1

Неустановленное значение будет пустым или пустым:

value = Request["param"];
if (String.IsNullOrEmpty(value))
{
    // param is not set
}

Если имя параметра находится в строке запроса, но значение не указано, оно будет пустым. Если имя не находится в строке запроса, значение будет равно null. Например.

&param1=&param2=value 
// Request["param1"] is String.Empty
// Request["param3"] is null

Ответ 2

Да, вы можете использовать метод утилиты HttpUtility.ParseQueryString(), который возвращает NameValueCollection, а затем перетащите вызов Get():

bool contains = HttpUtility.ParseQueryString(uri.Query)
                           .Get("ParameterName") != null;

Метод Get()

Возвращает строку, содержащую разделенный запятыми список значений, связанных с указанным ключом из NameValueCollection, если он найден; в противном случае null

EDIT:

Если у вас есть экземпляр HttpRequest, просто используйте встроенный индексатор, как показано ниже:

bool contains = Request["ParamName"] != null;

Ответ 3

В С# не реализованный объект равен NULL. Но если вы попытаетесь получить доступ к этому объекту, вы получите исключение. Вы, кошка, пытаетесь поймать его или просто добавить @перед вашей переменной. Итак, С# isset выглядит так (для массива строк)

// Isset
internal static bool isset(String[] m, int index)
{
    return (@m[index] == null) ? false : true;
}

Используйте его следующим образом: if (App.isset(parts, 1)) cat = parts[1]; Или просто "в plase" решении

if (@parts[1] != null) cat = parts[1];

Я надеюсь, что этот вопрос поможет вам.

Ответ 4

Вы можете использовать try и catch для переноса вашего запроса uri?

catch для исключения NullReferenceException или просто исключения?