1

使用 VB.Net,我正在寻找处理以下成语的最佳实践:

For i as Integer = 0 To o1.Count - 1
  o1(i).x = o2(i).x
Next

我真正想要的是 VB.Net 不提供的东西—— For Each 语句上的附加和同时迭代器。

For Each m1 As c1 In o1, m2 As c2 In o2
  m1.x = m2.x
Next

我对 Linq 和非 Linq 的建议、关于复制方法设计的评论、与 C# 或其他语言的比较感兴趣。

4

3 回答 3

0

我确定您的实际情况比您展示的示例更复杂,但我认为值得一提的是,如果您所做的只是尝试将整个项目列表从一个列表复制到另一个列表,您可以只需执行以下操作:

Dim list2 = New List(Of Object)(list1)
于 2012-06-04T13:56:15.627 回答
0

我不完全确定您要对此做什么。如果您详细说明您的问题,我们可能会为您提供更好的帮助。

如果两个列表的类型相同,您可以将一个列表附加到另一个列表,然后在一个列表上使用 for each。

于 2012-06-04T16:31:52.483 回答
0

我提交了一个请求来扩展 For Each 语句以实现额外的和同时的迭代器。

http://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/2923571-allow-additional-clauses-on-for-each-similar-to-c-

我仍然对其他解决方案感兴趣,但在那之前,这就是答案。

于 2012-06-13T15:26:42.737 回答