Проверка доступности диапазона значений, относящихся к одному указанному значению, в списке - PullRequest
0 голосов
/ 29 января 2020

Я сейчас пишу логи c, чтобы проверить, содержит ли данная строка определенный диапазон значений, соответствующих определенным критериям.

Лог c, который я пытаюсь реализовать, заключается в следующем: существует определенная переменная string value = "12"; с присвоенным значением, как показано ниже, учитывая, что у меня есть список значений, который у меня будет, я хочу чтобы проверить, будут ли какие-либо значения с 12.x, и это может быть что-то вроде 12.0.1 или 12.2. Проще говоря, хотите проверить, содержит ли Список что-нибудь с 12.Something (что-то 12 пунктов)

У меня есть не удалось добиться успеха в том, как я могу улучшить упомянутое поведение. Было бы очень признательно, если бы у кого-то была идея, если возможно реализовать это

Мой код попытки следующий:

static void Main(string[] args)
{
    List<string> values = new List<string>();
    values.Add("12.0.1");
    values.Add("12.2");

    string value = "12";

    //Logic to check if values with 12.x / 12.something is available 
}

Ответы [ 3 ]

0 голосов
/ 29 января 2020

Попробуйте это:

static void Main(string[] args)
{
    List<string> values = new List<string>();
    values.Add("12.0.1");
    values.Add("12.2");

    string value = "12";

    var isExists = values.Any(x => x.StartsWith($"{value}."));
}
0 голосов
/ 29 января 2020

Использовать LINQ to Objects .

Если вы просто хотите проверить, присутствует ли значение в списке, вы можете написать:

values.Any(e => e.StartsWith(value));

Если вы хотите чтобы знать, сколько раз значение присутствует в списке:

values.Count(e => e.StartsWith(value));
0 голосов
/ 29 января 2020

Попробуйте:

values.Where(v => v.StartsWith("12."));

Это вернет все значения, которые соответствуют критериям. Если вы хотите узнать, сколько их, используйте Count вместо Where, и если вы хотите узнать, соответствует ли хотя бы одно значение критериям, но вас не интересует значение itselft, используйте Any.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...