Сравнить строку [] со строкой [] в цикле for

Я пытаюсь сравнить 2 strings[] и отобразить как отмеченные похожие элементы. Он отлично работает, когда первый список для сравнения имеет одно значение, но не в списке (string[])

@functions {
    private static string[] GeoArea
    {
        get
        {
            string[] geoArea = {"Horse", "Cat", "Dog", "Dear", "Donkey", "Lamb"};
            return geoArea;
        }
    }

    string[] geoArea = GeoArea;
}

@{
    string[] blablab = {"Cat", "Dog", "Dear"};
    var results = string.Join(",", blablab);
}

@{
    for (int s = 0; s < geoArea.Length; s++)
    {
        if (results != geoArea[s])
        {
            <input class = "check_boxes" id = "@s.ToString()" name = "District" type = "checkbox" value = "@geoArea[s]"/>
            @geoArea[s]
        }
        else
        {
            <div style = "background-color: red; min-height: 50px;" >
                <input class = "check_boxes" id = "@s.ToString()" name = "District" type = "checkbox" value = "@geoArea[s]" checked = "checked"/>
                @geoArea[s]
            </div>
        }
    }
}

Результаты: все элементы не воцерковлены

Спасибо.

Почему именно вы ожидаете, что "Cat,Dog,Dear" будет соответствовать любому из "Horse", "Cat", "Dog", "Dear", "Donkey", "Lamb"?

Camilo Terevinto 21.12.2020 10:50

мне нужно отобразить «Кошка, собака, дорогой» как отмеченный, а остальные не отмечены

Assaf Our 21.12.2020 10:53
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
2
68
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Вы хотите использовать Contains здесь https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.list-1.contains?view=net-5.0

@functions {
    private static string[] GeoArea
    {
        get
        {
            string[] geoArea = {"Horse", "Cat", "Dog", "Dear", "Donkey", "Lamb"};
            return geoArea;
        }
    }
    string[] geoArea = GeoArea;
}

@{
    string[] blablab = {"Cat", "Dog", "Dear"};
}

@{
    for (int s = 0; s < geoArea.Length; s++)
    {
            <div style = "@(blablab.Contains(geoArea[s]) ? "background-color: red; min-height: 50px;" : "" )" >
                <input class = "check_boxes" id = "@s.ToString()" name = "District" type = "checkbox" value = "@geoArea[s]" @(blablab.Contains(geoArea[s]) ? "checked" : "" ) />
            @geoArea[s]
            </div>
    }
}

Слава была. я пытался избежать содержимого (это занимает немного больше времени в браузере). но похоже должен.

Assaf Our 21.12.2020 11:09

Ваш вопрос не объясняет, что именно вы хотите сравнить, но я думаю, что это то, что вы хотите:

string[] geoArea = { "Horse", "Cat", "Dog", "Dear", "Donkey", "Lamb" };
string[] blabla = { "Cat", "Dog", "Dear" };
List<string> match = new List<string>();

//Go through each entry in your blabla array
foreach(string animal in blabla)
{
    //Check if the geoArea array contains the entry 
    if (geoArea.Contains(animal))
    {
        //Add the matching entries to match List
        match.Add(animal);
    }
}

Это добавит все совпадающие записи ваших массивов в List<string> match.

Не забудьте добавить это пространство имен: using System.Linq;

Другие вопросы по теме

Как отобразить один элемент исходя из того, есть ли такое значение в модели?
C# Razor Pages, EF Core, Как создать и добавить дочерние записи с помощью кода в родительскую запись, которую еще предстоит добавить с помощью
Как отменить выбор раскрывающегося списка, если его родительский список не выбран? MVC Jquery, Razor
Кнопка «Добавить/удалить» Ajax показывает только одну
Пользовательская проверка ошибок для свойства Step в HTML Razor
Jquery для выбора данных и значения параметра, когда каждый раскрывающийся список имеет динамически созданный идентификатор
Невозможно привести объект типа «System.DBNull» к типу «System.DateTime»
Как добавить идентификатор утверждений в «ClaimsPrincipal User» razor PageModel с утверждениями из «внешнего входа»
Как получить выбранное значение DropDownList в приложении ASP.NET Core MVC
«Расширения» и «Скрипт» не существуют в пространстве имен «System.Web»