Проверьте значения из списка и присвойте строку в C # asp.net - PullRequest
0 голосов
/ 04 декабря 2018

У меня есть List, в котором на данный момент есть 13 (STATE с именем) значений.

List<UMSLocationDetails> UMSLocationDetails = (List<UMSLocationDetails>)Session["lstUMSLocationDetails"];

Поэтому я хочу проверить, есть ли в этом списке Rajashtan или нет.Если существует, я хочу присвоить его переменной string.

Я могу получить ее, если передам значение жесткого кода, как показано ниже:

UMSLocationDetails[6].LocationName

Что дает мне Rajashtan.Но я хочу это динамически.

Ответы [ 4 ]

0 голосов
/ 04 декабря 2018

Если вы хотите получить доступ по индексу FindIndex

    string state = "Rajashtan";
    int index = UMSLocationDetails.FindIndex(c => c.LocationName == state);
    if (index >= 0) 
    string locationName = UMSLocationDetails[index].LocationName;

Если вы хотите найти только существует и делать что-нибудь еще

    string state = "Rajashtan";
    bool exists = UMSLocationDetails.Any(c => c.LocationName == state);
    if (exists){}
0 голосов
/ 04 декабря 2018

Ответ выше лучше, если вам нужно использовать элемент, если он найден, однако, если вам нужно знать, существует ли он просто, попробуйте

var locationExists = UMSLocationDetails.Any(x => x.LocationName.ToLowerInvariant() == "rajashtan");

С новым C #, и его нулевое объединение делает жизнь намного проще, ссылаясь на существующий ответ:

var locationName = UMSLocationDetails.FirstOrDefault(x => x.LocationName?.ToLowerInvariant().Trim() == "rajashtan")?.LocationName;
0 голосов
/ 04 декабря 2018

вы можете попробовать это.

string locationName = UMSLocationDetails.FirstOrDefault(l => l.LocationName == "Rajashtan")?.LocationName;
0 голосов
/ 04 декабря 2018

Вы можете использовать LINQ FirstOrDefault () следующим образом:

var location = UMSLocationDetails.FirstOrDefault(x => x.LocationName == "Rajashtan");
if (location != null)
{
    // do something with location / location.LocationName
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...