比方说,我有以下字符串:C#字符串格式未知大小
string postData = "state={2}&country={3}&geolocation={0}&city={1}";
而且我有一个字符串的另一个列表。它的大小在这种情况下最多可以是4。 我想创建一个方法,它取代了我的postData变量中的数字,具体取决于列表大小。类似下面的方法:
private string UnknownSizeStringFormat(string postData, params string[] stringsToReplace)
{
return string.format(postData, stringsToReplace);
}
上述方法效果只要列表的大小为4。问题是,在第一次调用时,我的列表大小可能小于4,所以如果它为0,我想用空字符串替换括号内的每个数字。我的返回值应该是:
"state=&country=&geolocation=&city="
如果它的大小是一个,并在列表中的第一个成员是“21,27”我返回的字符串应该是:
"state=&country=&geolocation=21,27&city="
等等.. 我可以使用循环或正则表达式来达到这个目的,但是我一直在想是否有更好的方法,Linq解决方案呢?我所知道的是postData最多可以有多少个数字,在我的情况下是4. 同样,我可以用循环或正则表达式来做到这一点,但我试图尽可能缩短它
编辑:postData字符串可能会有所不同。那只是一个例子。如果你可以写在C#6的大小或内容可以是不同
我不知道你的列表是如何填充的,但我想一个简单的解决方案可能是为列表中的缺失项目添加空白字符串。不是说这是一个很好的解决方案,或者它甚至可以在你的特定情况下工作,但这是需要考虑的事情。 –