-1

我的代码是用 JavaScript 编写的

for (var i = 0; i < tsUA.length; i++) {
        if (tsRU[i][0] === tsUA[i][0])
            tsUA[i][2] = tsRU[i][1];
        }

最好使用 firstOrDefault

4

1 回答 1

0

在 C# LINQ 中,您可以这样做:

var query = tsUA.Zip(tsRU, (ua, ru) => new { ua, ru })
    .Where(p => p.ua[0] == p.ru[0]);
foreach (var pair in query)
    pair.ua[2] = pair.rs[1];

请注意,这里没有那么多“LINQ”,您正在修改对象。LINQ 的设计初衷并非如此。而且您的使用请求FirstOrDefault()毫无意义,它在这里没有位置。

您可能应该注意到,在这里使用 LINQ 并没有带来太多好处。此外,将对象保留为数组会降低其可读性。为什么不创建适当的对象来表示您的数据?

于 2015-08-12T17:25:29.860 回答