条件字符串格式

时间:2013-07-09 14:07:34

标签: c# string conditional string.format

我正在尝试使用条件字符串格式来显示发现或不是这样的记录 “找到10行中的5行”

string msg = "{0:#;;} of {1:#;;} {2:rows;no rows;row} found";
return string.Format(msg, searchItems, totalItems, totalItems - 1);

在totalItems为0之前一切正常,因为我得到了这样的消息集。 “找不到行”(错误)

我想要这样的事情 “没有找到行”

searchItems = 0 ; totalItems = 0 ==> "no rows found"

searchItems = 1 ; totalItems = 1 ==> "1 row found"

searchItems = 2 ; totalItems = 5 ==> "2 of 5 rows found"

1 个答案:

答案 0 :(得分:1)

您只需在.ToString()变量中添加searchItems,例如:

string msg = "{0:#;;} of {1:#;;} {2:rows;no rows;row} found";
return string.Format(msg, searchItems.ToString(), totalItems, totalItems - 1);

假设searchItemstotalItems都是0

  

找不到行<0>

假设searchItemstotalItems都是1

  找到1行中的1个

假设searchItems2totalItems5

  

找到5行中的2行

但是,我会重写这个并使用if语句,这可能是更多行代码,但更具可读性。