2016-09-06 4 views
0

私は値で塗りつぶしたいが、特定の行と列(すべてではない)だけを2次元配列にします。たとえば、15桁目は15゜、30桁目は30゜、以下同様にすべての値が必要です。行と同じです。VB.Netで2D配列の行全体を塗りつぶす

両方のインデックスですべての値を手動で入力できますが、それは配列のポイントとはちょっと違います。

配列の行全体を埋める方法はありますか?行の索引を定義してから、2番目の索引に値を一緒に入れますか?このような

何か:私はそれはあなたに私が想像何考えを与えるために、そのように動作しません知っている

Dim values(300,45) As Double 

'I want to fill row 15 in columns 15, 30 and 45 
values(15) = {{15, 0.06},{30, 0.04},{45, 0.03}} 

'now row 20, again just columns 15, 30 and 45 
values(20) = {{15, 0.26},{30, 0.23},{45, 0.17}} 

私は私の問題を理解願って、あなたの助けをありがとう:)

+0

**誤植**警告:それは**列**だ - ない "coloumn" .. –

+0

は申し訳ありませんが、英語は私の最初の言語ではありません... – tambenj

答えて

0

私はユーティリティの種類を提供VB言語での知っているものは何もありません。あなたはその構文に近づくために拡張メソッドを使うことができます。

Module ArrayExtensions 
    <System.Runtime.CompilerServices.Extension()> 
    Public Sub LoadValues(Of T)(arrayToFill As T(,), rowIndex As Int32, ParamArray items() As Array) 
     For Each ar As Array In items 
      Dim colIndex As Int32 = CInt(ar.GetValue(0)) 
      Dim val As T = CType(ar.GetValue(1), T) 
      arrayToFill(rowIndex, colIndex) = val 
     Next 
    End Sub 
End Module 

次にあなたの例を使用して:

Dim values(300, 45) As Double 

'I want to fill row 15 in coloumns 15, 30 and 45 
values.LoadValues(15, {15, 0.06}, {30, 0.04}, {45, 0.03}) 

'now row 20, again just coloums 15, 30 and 45 
values.LoadValues(20, {15, 0.26}, {30, 0.23}, {45, 0.17}) 
+0

魅力のように動作します:) ありがとう! – tambenj

関連する問題