想检查条件字符串是否可用。在C#中,可以基于数字的基础上的格式。
例如
对于布尔数据类型
bool rvalue = false;
string s = string.Format("{0:X;0;Y}", rvalue.GetHashCode());
这将返回Y。
类似地,是否有可能在string.Format之内写入条件?如number>2 then print X else print Y
答案 0 :(得分:1)
我花了一些时间来了解您要如何使用该表情,但是我想我已经明白了。
我现在能想到的最好的方法是:
projectname?/
myproject/ #1
.vs/
....
.vsode/
....
myprojectapps?/
manage.py
myvenv/ #2
myproject/
Include/
Lib/
Scripts/
myprojectapps?/
manage.py
或者:
int number = 3;
string s = string.Format($"{(number > 2 ? "X" : "Y")}");
但这对我来说更有意义:
int number = 3;
string s = string.Format("{0:X;0;Y}", number > 2 ? 1 : 0);
答案 1 :(得分:0)
您可以通过以下方式进行操作:
bool rvalue = false;
string s = string.Format("{0:X;0;Y}",
rvalue ? 0 : 1);
答案 2 :(得分:0)
为什么不简单地在前面构建格式字符串:
string format = rvalue ? "0:X" : "0:Y";
var result = myInput.Format(format);
当您遇到更复杂的情况时,很清楚并且很容易扩展:
switch (whateverCondition)
{
case 1: format = "0:Z"; break;
case 2: format = "0:X"; break;
case 3: format = "0:Y"; break;
default: format = "whatever";
}