在我之前的代码中,我尝试了一下视图。我想我需要首先检查id是否为空或null然后将值设置为0但是我得到一个错误,说,访问本地变量是不允许的。但是如何在if语句中访问var的局部变量?
var Rs1;
if (id != null)
{
Rs1 = _context.DwPropertyDetails.Select(x => new
{
Rs1Clm2 = totalTransAmount,
Rs1Clm3 = x.Studio),
Rs1Clm4 = x.OneBedroom),
Rs1Clm5 = x.TwoBedroom),
Rs1Clm6 = x.ThreeBedroom),
Rs1Clm7 = x.Total),
});
}
else
{
Rs1 = _context.DwPropertyDetails.Select(x => new
{
Rs1Clm2 = 0,
Rs1Clm3 = 0,
Rs1Clm4 = 0,
Rs1Clm5 = 0,
Rs1Clm6 = 0,
Rs1Clm7 = 0,
});
}
答案 0 :(得分:2)
var
推断出类型。如果未指定值,则无法推断值的类型。
您必须创建一个类或结构并将字段放在那里。然后使用创建的类的类型。
答案 1 :(得分:1)
如果你真的想使用var:
var Rs1 = id != null ?
_context.DwPropertyDetails.Select(x => new
{
Rs1Clm2 = totalTransAmount,
Rs1Clm3 = x.Studio,
Rs1Clm4 = x.OneBedroom,
Rs1Clm5 = x.TwoBedroom,
Rs1Clm6 = x.ThreeBedroom,
Rs1Clm7 = x.Total,
})
: _context.DwPropertyDetails.Select(x => new
{
Rs1Clm2 = 0,
Rs1Clm3 = 0,
Rs1Clm4 = 0,
Rs1Clm5 = 0,
Rs1Clm6 = 0,
Rs1Clm7 = 0,
});
答案 2 :(得分:-1)
为什么不使用object
代替var
?
var
。但是,既然你要分配一个没有类型的对象,那么也可以使用'object'。
E.g。 object Rs1;