C # Сравнение нескольких строк с одинаковым значением

Пожалуйста, посмотрите на приведенный ниже случай, конечно, это будет интересно ..

Если я хочу присвоить одно и то же значение нескольким объектам, я буду использовать что-то вроде этого

string1 = string2 = string3 = string 4 = "some string";

Теперь я хочу сравнить строки1, строку2, строку3 и строку4 с «someotherstring» ... вопросы Есть ли способ сделать это без написания индивидуального сравнения. т.е.

string1 == "someotherstring" || string2 == "someotherstring" || string3 == "someotherstring" || string4 == "someotherstring"

Надеюсь, я смог объяснить вопрос .. Пареш Ратод

5
задан Paresh Rathod 26 August 2014 в 07:51
поделиться

6 ответов

В вашем случае вы можете попробовать что-то подобное

if (new string[] { string1, string2, string3, string4 }.Contains("someotherstring"))
{
}
8
ответ дан 18 December 2019 в 05:43
поделиться

В C# 3.0 можно написать очень тривиальный метод расширения:

public static class StringExtensions
{
    public static bool In(this string @this, params string[] strings)
    {
        return strings.Contains(@this); 
    }
}

Затем использовать его так:

if ("some string".In(string1, string2, string3, string4))
{
    // Do something
}
14
ответ дан 18 December 2019 в 05:43
поделиться

Я нахожу LINQ очень выразительным и подумал бы об использовании его для этой задачи:

new[] { string1, string2, string3, string4 }.Any(s => s == "some string")
4
ответ дан 18 December 2019 в 05:43
поделиться

Нет на C#, но можно было бы написать так:

 (string1 == string2 && string2 == string3 && 
  string3 == string4 && string4 == "someotherstring")
3
ответ дан 18 December 2019 в 05:43
поделиться

Вы можете создать функцию, которая упрощает чтение кода :

compareToFirst( "someotherthing", string1, string2, string3, string4);

Если вы хотите сравнить этот список строк с последовательными "другими строками", вы можете создать объект списка "myStringList", в который вы бы добавили string1/2/3/4, а затем определили функцию, которая могла бы писать

compare( "someotherthing", myStringList );
1
ответ дан 18 December 2019 в 05:43
поделиться

Я так не думаю. Откуда вы знаете, какой из них не сравнивал или совпадал. Оценить побочный эффект такого сравнения не получится.

.
0
ответ дан 18 December 2019 в 05:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: