Есть ли способ установить несколько переменных в одной операции c# - PullRequest
0 голосов
/ 03 мая 2020

Pals, я новичок в c# Мне просто интересно, есть ли способ установить несколько переменных за одну операцию

Мой код:

public class Program
{
    public static void Main()
    {

        int a = 5;
        int b = 5; 
        a += 1;
        b -= 1;

        Console.WriteLine(a);
        Console.WriteLine(b);
    }
}

Однако я хочу написать их в одной строке так:

        int a = 5;
        int b = 5; 
        a += b -= 1;

        Console.WriteLine(a);
        Console.WriteLine(b); 

1 Ответ

2 голосов
/ 03 мая 2020

Вы можете использовать синтаксис деконструкции кортежа , введенный в C# 7, для записи

a += 1;
b -= 1;

в одну строку:

(a, b) = (a + 1, b - 1);

Обратите внимание, что в отличие от Исходные утверждения, это будет оценивать a и b дважды. Это хорошо, если a и b являются локальными переменными, но не если a и b имеют побочные эффекты. Я лично считаю, что оригинальную двухстрочную версию легче читать.

a += b -= 1 не означает то же самое. Это значит:

int temp = b - 1;
b = temp;
a += temp;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...