2009-09-04 29 views
0

我想看看是否有一种方法来构建一个Linq语句,该语句将根据元素中的可用属性选择结果,尽管并非所有属性都可用。Linq和多个

例如,这将是一个 '标准' 的元素:

<box left="2" right="2" /> 

然而,这也是完全有效的:

<box left="3" /> 

而且这样的:

<box right="1.4" /> 

我'想要做的是有一个Linq声明说:“如果左右都存在,添加它们并除以2.如果只剩下存在,使用该值。 “我知道这可以通过一系列令人费解的If/Then语句来完成,但我试图看看是否可以在Linq中完成。”

我试过了几件事情,但我有与返回值的问题 - 如何返回一个是真的。例如,下面的返回值,但不一定是一个是真的:

dim center = from e in <box> Where [email protected] IsNot Nothing _ 
AndAlso [email protected] IsNot Nothing _ 
let g = ((CInt([email protected])+CInt([email protected])) /2) _ 
Or _ 
[email protected] IsNot Nothing AndAlso [email protected] Is Nothing _ 
let k = CInt([email protected]) 

我试着使用select语句,但它不完全正常工作任何想法如何做到这一点?

回答