2017-06-19 9 views
0

私は次のようになりますどのデータを取得する方法を書いた:C#の配列データ転送[]

public void DatagridToArray(Array registersArray) 
{ 
    registersArray = myModulesList.OrderBy(mod => mod.Address).Select(mod => mod.ParamValue).ToArray(); 
} 

は今私の使い方では、私は[] USHORTとしてデータを必要とするので、私は変数を宣言します。

public static ushort[] registers = new ushort[20]; 

私は次のようにこのメソッドを呼び出します。

this.DatagridToArray(registers); 

結果 WH私はを監視途中DatagridToArray()registersArrayint[7]データを得ることができますが、コール後、registers変数はすべて0であることが判明します。私はそれをどうするか教えてください、事前に感謝!

答えて

1

ローカルの参照がregistersArrayのように変更されています。

あなたのコードは次のようになります。

registers = this.DatagridToArray(); 
+0

あなたの答えをありがとう:

public ushort[] DatagridToArray() { return myModulesList.OrderBy(mod => mod.Address).Select(mod => mod.ParamValue).ToArray(); } 

そして、は次のように使用! –

+0

私の 'myModulesList'が**型**' DataSet'の場合、どうすれば 'DatagridToArray()'メソッドを書き直すと思いますか? –