铸造Y或N来布尔C#

只是为了整洁的缘故,我在想,是否有可能将Y或N投射到布尔?这样的东西

bool theanswer = Convert.ToBoolean(input);

长版

bool theanswer = false;
switch (input)
{
   case "y": theanswer = true; break;
   case "n": theanswer = false; break
}
不,没有什么内置的。

但是,假设您要默认为false,则可以使用:

bool theAnswer = (input == "y");

(包围只是为了清楚。)

您可能需要考虑使其不区分大小写,因为您的问题的文本和您的代码之间的区别。这样做的一种方式:

bool theAnswer = "y".Equals(input, StringComparison.OrdinalIgnoreCase);

请注意,使用指定的字符串比较可以避免创建一个新的字符串,这意味着您不需要担心文化问题,除非您要进行文化敏感的比较。另请注意,我已经将文字作为方法调用的“目标”,以避免在输入为空时抛出NullReferenceException。

http://stackoverflow.com/questions/3716845/casting-y-or-n-to-bool-c-sharp

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:铸造Y或N来布尔C#