从数组连接字符串并包含它';s指数C#
考虑以下csv从数组连接字符串并包含它';s指数C#,c#,string,linq,csv,concatenation,C#,String,Linq,Csv,Concatenation,考虑以下csv string data = "Hey, Bob, How are you"; 我可以把它展平到: "Hey; Bob; How are you" 使用以下命令: var s = String.Join("; ",data.Split(',').Select(d => d.Trim()).ToArray()); 是否有任何方法可以获取联接中当前项的索引并将其附加到结果字符串中?沿着以下路线产生物质: "Hey=0; Bob=1; How are you=2" linq
string data = "Hey, Bob, How are you";
我可以把它展平到:
"Hey; Bob; How are you"
使用以下命令:
var s = String.Join("; ",data.Split(',').Select(d => d.Trim()).ToArray());
是否有任何方法可以获取联接中当前项的索引并将其附加到结果字符串中?沿着以下路线产生物质:
"Hey=0; Bob=1; How are you=2"
linq会促进类似的事情吗?可能与String.Format()类型方法结合使用?此处尝试此方法在“选择”中有一个索引选择器,您可以使用它与您的每个数据块关联
var s = String.Join("; ",data.Split(',')
.Select((d, i) => d.Trim() + "= " + i.ToString()).ToArray());
在这里试试这个在选择中有一个索引选择器,您可以使用它来与您的每个数据块结合
var s = String.Join("; ",data.Split(',')
.Select((d, i) => d.Trim() + "= " + i.ToString()).ToArray());
当然-只需稍微更改您的
选择
:
var s = String.Join("; ",data.Split(',')
.Select((d, i) => String.Format("{0}={1}",d.Trim(),i)));
请注意,
string.Join
可以使用IEnumerable
,因此无需调用ToArray
当然-只需稍微更改选择即可:
var s = String.Join("; ",data.Split(',')
.Select((d, i) => String.Format("{0}={1}",d.Trim(),i)));
请注意,string.Join
可以接受一个IEnumerable
,因此无需调用ToArray
@johnny5谢谢,fixed.NP,我也在竞相获取答案,这就是为什么我使用plus的原因,但是字符串格式更有效,特别是因为它会出现多次times@johnny5谢谢,fixed.NP,我也在竞相得到我的答案,这就是为什么我使用加号,但字符串格式更有效,特别是因为它将发生多次可能的完美复制!正是我想要的。谢谢,太好了!正是我想要的。谢谢