我正在尝试获取两个字符串集合并同时组合两个集合中的每一行,以显示我的用户的完整文件路径。
帮助消除混淆的例子:
字符串集合1将包含路径列表 示例:
C:\windows\xxxx\xxx\xx, C:\Users\xxx\xxx, C:\test\xxx\xxx
String Collection 2将包含文件名列表 示例:
file.txt, asd.txt, mydll.dll
每个列表在相同的行号中保存彼此的键,我只需将它们组合起来将它们输出给最终用户。
String Collection Line 1 + SC2 Line 1 = Path
SC Line 2 + SC2 Line 2 = Path
SC Line 3 + SC2 Line 3 = Path
无法在组合状态下访问信息,因此我将把数据放入两个单独的WPF文本框中,然后将其内容提取到字符串集中。
First Collection
StringCollection lines = new StringCollection();
int lineCount = filePath.LineCount;
for (int line = 0; line < lineCount; line++)
// Get line text and add to string collection
lines.Add(filePath.GetLineText(line));
第二次收集
StringCollection lines2 = new StringCollection();
int lineCount2 = fileName.LineCount;
for (int line = 0; line < lineCount; line++)
// Get line text and add to string collection
lines.Add(fileName.GetLineText(line));
感谢任何和所有帮助!
修改1
由于Eve,我已经尝试过ZIP命令,但我也找到了另一条路线。与下面的代码相比,使用zip是否有更安全的路线?
请记住,我将有一个功能来检查行数,并确保它们是相同的。
StringCollection lines = new StringCollection();
int lineCount = itemIDBox.LineCount;
for (int line = 0; line < lineCount; line++)
{
string id;
string rev;
string combined;
id = itemIDBox.GetLineText(line);
rev = revBox.GetLineText(line);
combined = id + @"\" + rev;
lines.Add(combined);
}
答案 0 :(得分:4)
您可以使用Zip
中的System.Linq
方法。
var fullPaths = lines.Cast<string>().
Zip(lines2.Cast<string>(), (path, fileName) => Path.Combine(path, fileName)).
ToArray();