私は以下のTestDataDtoを持っています。リストと辞書をループする効率的で良い方法
public class TestDataDto { public int ProgramId { get; set; } public string ProgramName { get; set; } public bool IsEnable { get; set; } }
プログラムIDは、私が持っている今
var enableTestData = new Dictionary<int, bool>(); enableTestData[1] = false; enableTestData[2] = true; enableTestData[3] = true;
を、有効であるテストデータ指定の
var testDatas = new List<TestDataDto>
{
new TestDataDto {ProgramId = 1, ProgramName = "Abc"},
new TestDataDto {ProgramId = 2, ProgramName = "xyz"},
new TestDataDto {ProgramId = 3, ProgramName = "jkl"},
};
辞書を設定されているIsEnableずにTestDataDto一覧IsEnableプロパティを設定する有効なテストデータ辞書内の対応するプログラムIDに応じて、testDatasの項目のy
このようにすることができます。
foreach (var b in enableTestData)
{
foreach (var testDataDto in testDatas)
{
if (testDataDto.ProgramId == b.Key)
{
testDataDto.IsEnable = b.Value;
}
}
}
しかし、効率的な方法かというコードが良い:-(を見ていないではないようです。誰かがこれをachiveするための最良の方法がどうなるか私を導いてくださいことはできますか?
よろしく
これは、(今削除された)上記の答えの痛ましい剽窃であり、Marcinの答えと比較してもまだ悲惨で非効率的で危険です。 –
+あなたは2つのルックアップをしています:) – MarcinJuraszek
ええ、あなたが@MarcinJuraszekを言ったように、彼らはO(1)_ [技術的には真実ではありません] _だから私たちは気にしません。 – serhiyb