這是你的意思嗎?
bool? Any
{
get
{
return ((this.ViewState["any"] as bool?) ?? false) && this.SomeBool;
}
}
我已將返回值保留爲bool?但它看起來可以改變爲布爾值。
這個測試是這樣的:
class Program
{
private static readonly Dictionary<string, object> ViewState = new Dictionary<string, object>();
private static bool SomeBool;
static void Main(string[] args)
{
ViewState["any"] = (bool?)null; SomeBool = true; Console.WriteLine(Any);
ViewState["any"] = (bool?)false; SomeBool = true; Console.WriteLine(Any);
ViewState["any"] = (bool?)true; SomeBool = true; Console.WriteLine(Any);
ViewState["any"] = (bool?)null; SomeBool = false; Console.WriteLine(Any);
ViewState["any"] = (bool?)false; SomeBool = false; Console.WriteLine(Any);
ViewState["any"] = (bool?)true; SomeBool = false; Console.WriteLine(Any);
Console.ReadLine();
}
static bool? Any
{
get
{
return ((ViewState["any"] as bool?) ?? false) && SomeBool;
}
}
}
返回
False
False
True
False
False
False
這裏的行爲是不完全一樣的原爲空應該是測試用例1返回,4是相同。但也許這種行爲不是必需的?
你爲什麼會想用這個?運營商?爲了縮短它? – 2010-04-27 22:31:27
@亨克霍爾特曼:是的。併爲操作員使用練習。 – abatishchev 2010-04-27 22:33:24