我一直在认真研究帮助文件和所有类似的问题,但无法找到一个更简单的解决方案。但是我认为应该有。我有两个string[]
数组,我需要将它们合并为一个2D数组。
这是我要执行的代码:
public static string[,] GetStructure(string FilePath)
{
try
{
xliff = XDocument.Load(Path.GetFullPath(FilePath));
XNamespace ns = "http://sdl.com/FileTypes/SdlXliff/1.0";
string[] ids = xliff.Descendants().Elements(ns + "tag-defs").Elements(ns + "tag").Elements(ns + "st").Select(e => e.Parent.Attribute("id").Value).ToArray();
string[] elements = xliff.Descendants().Elements(ns + "tag-defs").Elements(ns + "tag").Elements(ns + "st").Select(e => e.Value).ToArray();
string[,] mergedarray = new string[ids.Length, 2];
for (int i = 0; i < ids.Length; i++)
{
mergedarray[i, 0] = ids[i];
mergedarray[i, 1] = elements[i];
}
return mergedarray;
}
catch (Exception)
{
return null;
}
}
有什么建议可以简化合并吗?
您可以使用Linq。
var range = Enumerable.Range(0, ids.Length).ToList();
range.ForEach(i => { mergedarray[i, 0] = ids[i]; mergedarray[i, 1] = elements[i]; });
也许有更好的Linq声明
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句