2013-11-25 114 views
2
public void display() 
{ 
    var Charts = chartGroup.Descendants("charts").Elements("chart") 
     .Where(x => x.Attribute("id").Value == "4") 
     .Select(x => x.Attribute("name").Value).ToList(); 
} 

我已經寫了下面的lambda表達式。截至目前這工作正常。但我想設置搜索值作爲用戶參數..類似於參數到lambda表達式查詢

public void display(int userid) 
{ 
    var Charts = chartGroup.Descendants("charts").Elements("chart") 
     .Where(x => x.Attribute("id").Value == userid) 
     .Select(x => x.Attribute("name").Value).ToList(); 
} 

但它會給出錯誤。 請問如何解決這個問題?

+0

我得到了多少次錯誤猜測? –

回答

1

比較一個int和一個字符串是沒有意義的:

public void display(int userid) { 
var Charts = chartGroup.Descendants("charts") 
         .Elements("chart") 
         .Where(x => x.Attribute("id").Value == userid.ToString()) 
         .Select(x => x.Attribute("name").Value).ToList(); 
} 
0

搜索模式必須是但你逝去的INT。所以轉換它ToString()

var Charts = 
      chartGroup.Descendants("charts").Elements("chart"). 
      Where(x => x.Attribute("id").Value == userid.ToString()). 
      Select(x => x.Attribute("name").Value).ToList();