可以字符串格式序列以任何顺序出现

本文关键字:顺序 任何 字符串 格式 | 更新日期: 2023-09-27 18:20:55

我这里有一个字符串,

return  string.Format("/abcXYZ990099/abc.aspx?IDA={0}&Name={1}&Teacher={2}",
                ID, Name, Teacher);

现在,由于需求的变化,我也需要从数据库中获取"abcXYZ990099",有可能这样做吗,

return  string.Format("/{3}/abc.aspx?IDA={0}&Name={1}&Teacher={2}",
                    ID, Name, Teacher, NewPropertyValue);

可以字符串格式序列以任何顺序出现

是的,你可以做到。但我会重新索引占位符,并重新排序params,以适应它们在返回字符串中出现的顺序,例如

return  string.Format("/{0}/abc.aspx?IDA={1}&Name={2}&Teacher={3}",
                    NewPropertyValue, ID, Name, Teacher);

这是完全可以的,格式化项可以以任何顺序出现在字符串中。

例如,当格式字符串存储为本地化资源时,格式项可能按照特定于区域性的顺序。例如,要显示全名,可以使用:

String.Format(Resources.FullNameFormatString, firstName, middleName, lastName)

显示顺序可能取决于文化,例如:

en-US: "{0} {1} {2}"  // First Middle Last
fr-FR: "{2}, {0} {1}" // Last, First Middle

您甚至可能有一个本地化版本,它不使用以下格式项之一(例如中间名):

"{2), {0}" // Last, First (middle name not used)

当然,在您的示例中,正如其他人所说,重新排序项目可能更有意义。

你可以。但是改变顺序,因为代码必须可以理解。

string.Format("/{0}/abc.aspx?IDA={1}&Name={2}&Teacher={3}",NewPropertyValue, ID, Name, Teacher);