LINQ替换嵌套数组迭代和更新?

Sno*_*owy 0 c# linq arrays

我需要一些语法糖的帮助.我有一个ThisClass [3]和ThatClass [3].

public class ThisClass
{
    public string Thing1;
    public string Thing2;
    public string Thing3;
    public string Thing4;
}

public class ThatClass
{
    public string Thing1;
    public string Thing2;
}
Run Code Online (Sandbox Code Playgroud)

ThatClass数组中的每个实例都是基于数组ThisClass的相同位置的实例创建的.所以ThatClass [0]的字段与ThisClass [0]具有相同的值,除了它只有2个字段而不是4个字段.

我现在想更新ThisClass数组中的每个实例,其中包含来自ThatClass数组中对象的匹配索引位置的字段.我可以做嵌套for循环,但我需要帮助思考LINQ选项.

 ThisClass[0].Thing1 = ThatClass[0].Thing1; 
 ThisClass[0].Thing2 =  ThatClass[0].Thing2;
Run Code Online (Sandbox Code Playgroud)

有效,但我相信可以做得更好.使用C#,.NET 4.5.

Jon*_*eet 7

我没有看到任何嵌套循环的需要:

for (int i = 0; i < theseClasses.Length; i++)
{
    theseClasses[i].Thing1 = thoseClasses[i].Thing1;
    theseClasses[i].Thing2 = thoseClasses[i].Thing2;
}
Run Code Online (Sandbox Code Playgroud)

你可以添加一个CopyFrom(ThatClass)方法ThisClass,导致:

for (int i = 0; i < theseClasses.Length; i++)
{
    theseClasses[i].CopyFrom(thoseClasses[i]);
}
Run Code Online (Sandbox Code Playgroud)

......但这就是我要做的.LINQ是查询,不会造成副作用......我不认为这是一个很好的选择.