私のuwpプロジェクトには、
Rooms
と呼ばれるリストがありますそして、これはそのリストの内容です:
public string RoomID { get; set; }
public string RoomName { get; set; }
public Visibility Projector { get; set; }
public int Seats { get; set; }
public string FrontImage { get; set; }
public string Note { get; set; }
Projector
の値を挿入しようとしていますに
Rooms.Add(new Room
{
RoomID = id,
RoomName = name,
FrontImage = Img1,
Seats = seats,
Note = "Lorem ipsum dolor sit amet, co"
});
このコード行。
Rooms.Insert(1, new Room{ Projector = Visibility.Collapsed });
しかし、キーワード
new
を使用すると新しい部屋が作成されました。既存の部屋に「プロジェクター」値を挿入する他のキーワードはありますか?
前もって感謝します!
編集:
foreach (var room in data)
{
string id = room.id;
string name = room.name;
int seats = room.seats;
List<Roomattribute> roomattrib = room.roomAttributes;
foreach (var attri in roomattrib)
{
int attriId = attri.id;
string attriName = attri.name;
int attriIcon = attri.icon;
if (attriId == 1)
{
Rooms.Insert(0, new Room{ Projector = Visibility.Collapsed });
}
}
Rooms.Add(new Room
{
RoomID = id,
RoomName = name,
FrontImage = Img1,
Seats = seats,
Note = "Lorem ipsum dolor sit amet, co"
});
}
回答 2 件
リストの2番目の部屋のプロパティを編集しようとすると、index = 1を使用しているために表示されます(配列とリストは0から始まることに注意してください)。これは非常に簡単です。編集:最初のものを編集したいと言ったので、必要な変更はインデックスとして0を使用することだけです。
Rooms[0].Projector = Visibility.Collapsed;
それがあなたがやろうとしているのであれば、上記はうまくいくはずです。
関連記事
- Chartjs v3:登録する必要のあるコンポーネントはどこにありますか?
- 1stSpinnerによって作成された2ndSpinnerは、textviewを更新する必要があります
- キューに使用する必要があるNETAzure Service Busライブラリはどれですか?
- このUmlダイアグラムのどのクラスで、シートクラスはどの接続を使用する必要がありますか?
- どのSQLリクエストを使用する必要がありますか?
- 形状抽出にはどの損失関数を使用する必要がありますか?
- Dockerコンテナをインスタンス化するために使用する必要があるTravis CIの「言語」設定はどれですか?
- 複数のデータセットに同じ列名が存在する場合、どのマージコマンドを使用してマージする必要がありますか?
- 2つのボックスが衝突した場合、どの軸を変更する必要がありますか?
これはあなたがやろうとしていることですか?
または、コードの単一の変換行を使用してさらにシンプルにします(列挙型の場合、以下の「null」をデフォルトに調整する必要があることに注意してください)。これはforeachを完全に回避し、非常に簡潔に読み取ります。このコードの書き方です。