私は今日この問題に直面していましたが、満足のいく解決策が見つからなかったため、クラスの設計を変更し、タグ 1、タグ 2、タグ 3 などの個別のプロパティを持つことにしました。
私の主な問題は、他のプロパティのリストを含むオブジェクトにグリッドをバインドする必要があり、リスト内の各項目を個別の列として表示する必要があるという事実です。したがって、変数を個別に宣言することに頼っています。元の質問はこちら...
今、私はおそらくすべてのプログラマーが一度は直面する、最も一般的な設計上の問題の 1 つに直面しています。これを示すコードは次のとおりです。
for (int i = 0; i < tags.Length; ++i) // Length not known here.
{
if(i==0){
tag1 = tags[0];
}
else if(i == 1){
tag2 = tags[1];
}
else if(i == 2){
tag3 = tags[2];
}
....
}
これtags
が文字列配列です。
これを行うためのよりエレガントな方法があるかどうか疑問に思っていました。注意すべきもう 1 つのことは、このループの効率は、進行するにつれて低下することです。これは、反復が増えると、より多くの条件をチェックする必要があるためです。一度真になった後に条件を削除できれば、各反復で各条件が一度だけ真になることがわかっているため、各反復が高速化されます。