C#, Как вызвать больше чем с одним параметром

Проблема в типах ваших переменных.

Questions:, p1, p2 и p3 относятся к типу str.

И наоборот, q1, q2 и q3 относятся к типу int.

Вызовы print работают отдельно, потому что print может преобразовать свои аргументы в str. Однако сначала вы пытаетесь добавить две строки (p1 и Questions:) в int (q2), что не помогает.

Вместо наивного сложения / объединения следует предпочесть str.format вызовов:

print('{p} Questions: {q}'.format(p=p1, q=q1))

Это облегчает понимание того, как будет выглядеть строка, и автоматически выполняет преобразование ваши аргументы.

11
задан Ivan Prodanov 8 April 2009 в 10:47
поделиться

1 ответ

( изменить - я думаю, что я неправильно понял исходный вопрос)

Просто сделайте это Метод вместо свойства:

public void DoSomething(string foo, int bar)
{
    if (this.InvokeRequired) {
        this.Invoke((MethodInvoker)delegate {
            DoSomething(foo,bar);
        });
        return;
    }
    // do something with foo and bar
    this.Text = foo;
    Console.WriteLine(bar);
}
29
ответ дан 3 December 2019 в 03:05
поделиться
Другие вопросы по тегам:

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