我想要有一个这种格式的字符串
name1,date1|name2,date2为此,我编写了一个方法
int ifirstStringLength = strFirstStringArray.Length;
int iSecondStringLength = strSecondStringArray.Length;
if (ifirstStringLength != iSecondStringLength)
throw new Exception("First and Second Array should be of same length");
for (int index = 0; index < ifirstStringLength; index++)
{
strCombinedString = strCombinedString + strFirstStringArray[index] + chrElementSeprator.ToString() + strSecondStringArray[index];
if (index < ifirstStringLength - 1)
strCombinedString = strCombinedString + chrItemSeperator.ToString();
}
return strCombinedString;问题1:
这是一种好方法还是更好的方法?
问题2:
如果我想使用linq/lambda表达式来实现这一点,你知道吗?
更新:
我的输入是
string[] names = {"name1","name2"};
string[] dates = {"date1","date2"};抱歉,沟通有误
发布于 2013-05-23 02:52:13
我的想法是将名字和日期分开,然后压缩两个序列,一次组合一个名字-日期对。之后,用'|‘符号连接每一对
string[] names = {"name1", "name2"};
string[] dates = {"date1", "date2"};
var pairs = names.Zip(dates, (name, date) => name + "," + date);
string result = string.Join("|", pairs);
Console.WriteLine(result);打印:
name1,date1|name2,date2https://stackoverflow.com/questions/16699411
复制相似问题