成对组合两个数组的元素

时间:2017-01-11 12:27:30

标签: c# arrays revit-api

我有三个人:

string[] comet1 ={comenta1,comenta2,coment3,......This way for all the selected elements};
string[] paramet1 = { long1,long2,lon2,......};
string[] parametr2={ alt1,alt2,alt2,......};

TextWriter tw = new StreamWriter("C:/archivo.txt")

// añadir linea de texto al archivo de texto
for (int i = 0; i < comet1.Length; i++)
{
    tw.WriteLine(comet1[i]);
}

for (int a = 0; a < paramet1.Length; a++ )
{
    tw.WriteLine(paramet1[a]);
}

使用该代码,数据将添加到txt文件中,如下所示:

comenta1
comenta2

long1
long2

.....

我想做的是:

comenta1/long1
comenta2/long2

......

我试过了:

tw.WriteLine(comet1[i] + "\\" + paramet1[a]);

但是这只会增加第一行两次!

2 个答案:

答案 0 :(得分:1)

您可以使用System.LinqEnumerable.Zip中的String.Join扩展方法使用单行内容执行此操作:

tw.WriteLine(string.Join(Environment.NewLine, comet1.Zip(paramet1, (f, s) => $"{f}\\{s}")));

在提供的链接中阅读这两种方法的文档,以准确了解它们的作用。

答案 1 :(得分:0)

试试这个:

for (int i = 0; i < comet1.Length; i++)
{
    tw.WriteLine(string.Concat(comet1[i], "/", paramet1[i]));
}