我想要一个这种格式的字符串
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"};
抱歉沟通不畅
最佳答案
想法是将名称和日期分开,然后压缩两个序列,一次组合一个名称-日期对。之后用“|”连接每一对符号
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,date2
关于c# - 使用字符分隔符构建具有特定模式的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16699411/