gpt4 book ai didi

c# - 如何在 .Net 中有条件地格式化字符串?

转载 作者:IT王子 更新时间:2023-10-29 04:09:28 26 4
gpt4 key购买 nike

我想对字符串进行一些条件格式化。我知道您可以按如下方式对整数和 float 进行一些条件格式化:

Int32 i = 0;
i.ToString("$#,##0.00;($#,##0.00);Zero");

如果变量为正、负或零,上述代码将产生三种格式之一。

我想知道是否有任何方法可以在字符串参数上使用部分。对于一个具体但做作的示例,我希望替换以下代码中的“if”检查:

string MyFormatString(List<String> items, List<String> values)
{
string itemList = String.Join(", " items.ToArray());
string valueList = String.Join(", " values.ToArray());

string formatString;

if (items.Count > 0)
//this could easily be:
//if (!String.IsNullOrEmpty(itemList))
{
formatString = "Items: {0}; Values: {1}";
}
else
{
formatString = "Values: {1}";
}

return String.Format(formatString, itemList, valueList);
}

最佳答案

好吧,您可以使用条件运算符稍微简化一下:

string formatString = items.Count > 0 ? "Items: {0}; Values: {1}" : "Values: {1}";
return string.Format(formatString, itemList, valueList);

或者甚至将其包含在同一语句中:

return string.Format(items.Count > 0 ? "Items: {0}; Values: {1}" : "Values: {1}",
itemList, valueList);

这就是你想要的吗?我不认为你可以有一个单一的格式字符串,它有时包含位,有时不包含位。

关于c# - 如何在 .Net 中有条件地格式化字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/154483/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com