说我有有三串属性的类:如何获得在C#中的字符串属性的参考
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.";
这是行不通的。我知道这与字符串不可变性有关(至少我认为它确实如此),但我不知道如何去做。
字符串基本上混淆了bejesus在我之外。
恩,是的,所以我的问题是什么是最简洁的方式来做到这一点?
的问题说:“现在说我要分配*到*字符串属性之一”,但你可以清晰地从*属性来someString分配*,不是*为*的属性。 – Greg 2011-02-24 22:34:19
因为在代码的最后一行之前没有'else','someString'将在代码块执行后总是包含文本''我不能这样做,Dave。“'。 – kbrimington 2011-02-24 22:35:29
我看不出任何原因,除非你总是以someString等于“我做不到,Dave”。因为你错过了最后一个人:) – 2011-02-24 22:36:19