条件String.Format整数

时间:2018-11-06 08:36:19

标签: c# string format

想检查条件字符串是否可用。在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

3 个答案:

答案 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";
}