如何在LINQ中給出另一個函數的返回值。我有IEnumerable
。從該對象集合中,我必須根據另一個function(say GetObjPropertyValue)
的返回值來過濾對象。我的最終輸出應該是對象字典和它的propertyValue。這本字典不應該有propertyvalue沒有的對象。如何獲得另一個函數的返回值?
GetObjPropertyValue
函數將Object作爲輸入並將其屬性返回爲字符串。但有時它不會返回Object,如果該屬性不存在。
我的查詢是一樣的東西,
Dictionary(obj, string)=ObjColl.Where(Function(p) not GetObjPropertyValue(p) is nothing)
但在上面的查詢我應該寫代碼來存儲GetObjPropertyValue(P)的返回值,並添加OBJ-P和ReturnValue組合到字典中。如何寫這個?
例如參見下面的代碼:
以下代碼最後一行是錯誤的。但請告訴我如何糾正它。我的本意是,我希望每個fruitname及其所有的水果色(其它函數調用返回),其中GetFruitColor是沒有什麼的輸出集合(比如字典)(它可以爲空或有效的字符串)。 '
[code] Private function GetFruitColor(fruit)as string '它返回水果的顏色。 '如果有效的水果和顏色不可用,則返回「」(空字符串) '如果水果無效水果,則不返回任何東西。端功能
private sub MyMethod()
Create a list of strings.
Dim fruits As New List(Of String)(New String() _
{"apple", "passionfruit", "banana", "mango", _
"orange", "blueberry", "grape", "strawberry"})
Dim query = _fruits.Where(Function(fruit) k= GetFruitColor(fruit) if not k is nothing select fruit, k)
End Sub
在上面的代碼中的最後一行是錯誤的。因此,如何把getFruitColor在k
,如何糾正它保存k
價值,並給我輸出的水果字典和k
值。
出色答卷喬恩斯基特。它給了我正確的解決方案。非常感謝你的幫助。 – kothasiva 2012-04-05 07:05:56