の配列の要素を変更し、私はのTableRow構造体を持っていると、このような構造体の配列テーブル:のC#:検索と構造体
table = new TableRow[10];
今、私は1つのコンテンツを見つけて、操作したいです配列内の構造体の配列。
私は右の配列要素を検索するArray.Findを使用します。
var tr = Array.Find(table, tRow => tRow.color == 'red');
tr.count++;
問題は、構造体は値型ですので、Findメソッドは、私が操作したい構造体のコピーを返すことです。このコピーを変更しても、配列内の構造体は変更されません。
参照で構造体を返すようにFindメソッドに指示する方法がないようです。
TableRow構造体を表示できますか?あなたがカスタム構造体型を必要とするのはまれなケースです。合計フィールドのサイズが16バイトより大きければクラスに変換することを考えてください – sll
...または初期化の後にフィールドを変更する必要がある場合。 – Douglas