C# 将TranslateArrayResponse的类型转换为字符串[]

C# 将TranslateArrayResponse的类型转换为字符串[],c#,arrays,string,microsoft-translator,C#,Arrays,String,Microsoft Translator,我正在与Microsoft Translator()合作。 特别是TranslateArray()方法,它基本上需要翻译文本的字符串数组,结果是一个包含翻译文本的数组 生成的翻译带有一种类型TranslateArrayResponse[]。 我的代码看起来像这样(为了清晰起见缩短) client.TranslateArray()方法的挑战在于,它只允许每个请求包含10000个字符,最多包含2000个项目。我的sourceTranslate(一个resx文件)很容易包含超过10000个字符,所以为

我正在与Microsoft Translator()合作。 特别是
TranslateArray()
方法,它基本上需要翻译文本的字符串数组,结果是一个包含翻译文本的数组

生成的翻译带有一种类型
TranslateArrayResponse[]
。 我的代码看起来像这样(为了清晰起见缩短)

client.TranslateArray()
方法的挑战在于,它只允许每个请求包含10000个字符,最多包含2000个项目。我的
sourceTranslate
(一个resx文件)很容易包含超过10000个字符,所以为了避免这个问题,我将请求拆分以适应这些边界

我的问题是如何将值
result
复制到字符串[]或类似的字符串中-我需要稍后使用
result
(即将结果保存回新的resx文件)


显然像
result+=…
这样的东西是行不通的。

有多种方法可以做到这一点

一个简单的方法是在
TranslateArrayResponse
值数组上循环时逐步创建一个新字符串-根据,每个值都有一个
TranslatedText
类型的
string
属性:

StringBuilder sb = new StringBuilder();
foreach (var tar in result) {
    sb.Append(tar.TranslatedText);
}
string resultString = sb.ToString();
另一种解决方案是使用LINQ从每个项目中提取翻译文本,然后连接字符串的结果枚举:

string resultString = string.Join("", result.Select(r => r.TranslatedText));

完美-正是我需要的:)
string resultString = string.Join("", result.Select(r => r.TranslatedText));