Я пишу эту функцию:Как получить только одно значение из querystrig
public static String QueryString(string queryStringKey)
{
if (HttpContext.Current.Request.QueryString[queryStringKey] != null)
{
if (HttpContext.Current.Request.QueryString[queryStringKey].ToString() != string.Empty)
return HttpContext.Current.Request.QueryString.GetValues(1).ToString();
}
return "NAQ";
}
И я хочу, чтобы получить только одно значение из строк запроса параметров. например, я посылаю «страницу» моей функции и URL: «sth.com/?page=1 & страница = 2» и функция возвращает мне: «1,2»; но я хочу первое значение: «1», как?
Почему это лучше? В любом случае вам нужно проверить возвращаемое значение 'GetValues', так как оно не возвращает пустой массив, но« null ». Таким образом, этот подход не будет работать, даже если он использует «FirstOrDefault». Отредактировано [мой ответ] (http://stackoverflow.com/a/18357336/284240) соответственно. –
Во-первых - лучший подход, который я имел в виду в ответ на исходный вопрос. Второй - согласитесь с вами в вопросе «null», но разве это не было бы рассмотрено, если у нас есть нулевая проверка в условии if выше? – Vandesh
Правильно, 'if' должен обрабатывать случай, даже если было бы лучше проверить значение' null', так как это значение также может быть пустой строкой (тогда 'NAQ" будет возвращено, даже если ключ существует). 'FirstOrDefault' просто запутан, так как он никогда не может быть пустым массивом. –