投稿者 魔界の仮面弁士  (社会人) 投稿日時 2010/7/9 10:27:34
>> aryreturn(i) = ary1(i) + ary2(i)
> ary1 と ary2 の要素数が違っていた場合には、どのように扱うのでしょうか?

要素数が異なる場合には、単純に ArgumentOutOfRangeException あたりを Throw しても
良いのかもしれませんが、一例として見つからなかった要素を 0.0 として扱うパターンを考えてみました。

'ary1.Length を優先する 
Function AddElements2(ByVal ary1() As DoubleByVal ary2() As DoubleAs Double()
  Return ary1.Select(Function(e, i) e + ary2.ElementAtOrDefault(i)).ToArray()
End Function

'要素数が異なる場合、不足している方は 0.0 として扱う 
Function AddElements3(ByVal ary1() As DoubleByVal ary2() As DoubleAs Double()
  Return (From i In Enumerable.Range(0, Math.Max(ary1.Length, ary2.Length)) _
          Select ary1.ElementAtOrDefault(i) + ary2.ElementAtOrDefault(i)).ToArray()
End Function