2009-09-04 60 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語句,但它不完全正常工作任何想法如何做到這一點?

回答