Скажем, у меня есть класс с тремя строковыми свойствами:
public class Foo
{
public string Bar1 { get; set; }
public string Bar2 { get; set; }
public string Bar3 { get; set; }
}
Теперь скажите, что я хочу назначить одно из строковых свойств, но то, какое из трех свойств я назначаю, зависит от некоторого условия. Зная, что строки предположительно являются ссылочными типами, я мог бы испытать желание написать некоторый код, подобный этому:
string someString;
if (condition1) someString = foo.Bar1;
else if (condition2) someString = foo.Bar2;
else if (condition3) someString = foo.Bar3;
someString = "I can't do that, Dave.";
Это не работает. Я знаю, что это как-то связано с неизменяемостью строк (по крайней мере, я так думаю), но я понятия не имею, как это сделать.
Струны в основном сбивают меня с толку.
Хм, да, поэтому мой вопрос, какой самый краткий способ сделать это?