Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# (如果有一行)?布尔是真的-给我绳子_C#_.net - Fatal编程技术网

C# (如果有一行)?布尔是真的-给我绳子

C# (如果有一行)?布尔是真的-给我绳子,c#,.net,C#,.net,尽管我读过很多stackoverflow的文章,但我还是无法用头脑来概括这一点 我检查页面是否具有如下特定属性值: bool categoryCount = CurrentPage.HasValue("blogCategories"); 我想将其转换为一行if语句,以便将字符串解析为如下所示的类: string situation = (categoryCount.ToString() == "true") ? '' : ''; PS:我为我的想法/目标背后的逻辑缺失道歉。我是编程新手。您不

尽管我读过很多stackoverflow的文章,但我还是无法用头脑来概括这一点

我检查页面是否具有如下特定属性值:

bool categoryCount = CurrentPage.HasValue("blogCategories");
我想将其转换为一行if语句,以便将字符串解析为如下所示的类:

string situation = (categoryCount.ToString() == "true") ? '' : '';

PS:我为我的想法/目标背后的逻辑缺失道歉。我是编程新手。

您不需要将布尔值转换为字符串来确定它是否为真

如果categoryCount的布尔值为true,您知道它会返回什么吗

它返回布尔值true。如果categoryCount为true,则其字符串表示形式等于true为true。但categoryCount已经是真的了

与此完全相同:

bool x = categoryCount;
此外,C中的字符串使用双引号,而不是单引号

因此:


您不需要转换为字符串来使用三元。您可以简单地执行以下操作:

string situation = categoryCount ? "Executes if true" : "Executes if false";
三元条件不需要是字符串,只需要返回

那么:

string situation = (CurrentPage.HasValue("blogCategories"))
                   ? "Has the value" : "Has NOT that value";
你应该改变两件事:

不要使用ToString==True,只需将布尔表达式放在三元运算符的条件部分:调用ToString效率很低,而且如果规范更改,它可能会实际停止工作。ToString返回True,带大写字母,因此它不会与代码一起工作; 使用字符串文字一些字符串,而不是字符文字“a”:结果应该是字符串,而不是字符。 与true相比,这将不起作用:

csharp> true.ToString()   
"True"                    
csharp> true.ToString() == "true" 
false

但是,即使它能工作,也相当不安全:如果.NET库的设计者后来改变主意,那么您的程序可能会停止正常工作。通常我认为最好不要依赖ToString方法的格式。它们往往是特定于区域性的,而且通常不会对输出格式提供硬约束。

为什么要将布尔值转换为字符串?如果两个结果都返回相同的值,为什么还要使用此条件?我不知道你在问什么…不需要将bool转换为字符串。如果有任何类别,我想向网格添加一个类。所以,如果有一个类别我想添加,如果没有一个类我想添加。顺便说一句,我是编程新手,所以我为我的目标背后缺少的逻辑道歉。
string situation = (CurrentPage.HasValue("blogCategories"))
                   ? "Has the value" : "Has NOT that value";
csharp> true.ToString()   
"True"                    
csharp> true.ToString() == "true" 
false