-1

new ステートメント内で foreach ループを使用して、クラス DtoReport のプロパティであるプロパティ subdecision_typex_value を割り当てたいと思います。

それはどういうわけか可能ですか?それは理にかなっていますか?

public DtoReport Get(Report repResp)
   return new DtoReport()
   {
      archivingId = repResp.archivingId.ToString(),
      dateCreated = DateTime.Now,

      //I'D LIKE TO DO IT THAT WAY IS IT POSSIBLE SOMEHOW ?
      foreach(Subdecision d in repResp.decisionMatrix.subdecisions){
         if(d.type == "SOME VALUE"){
            //Dynamically assign DtoReport subdecision_typex_value Property 
            subdecision_typex_value = d.value                   
         }
      }
      //END

      anotherProperty = repResp.AnotherProperty
   }
4

1 に答える 1

1

Linqを使用できます:

return new DtoReport()
{
  archivingId = repResp.archivingId.ToString(),
  dateCreated = DateTime.Now,
  subdecision_typex_value = repResp.decisionMatrix.subdecisions
                           .Where(d => d.type == "SOME VALUE")
                           .Select(d => d.value)
                           .FirstOrDefault(),
  anotherProperty = repResp.AnotherProperty
}

あなたのアプローチは、おそらくそれがするはずだったものではないことに注意してください。すべてのサブデシジョンを列挙してから、最後の値を。で取得しtype=="SOME VALUE"ます。私はあなたがこのタイプの最初の値を取りたいと思います、私は正しいですか?

于 2012-10-30T08:30:55.723 に答える