我有這4個複選框,構成字符串變量saljes,kopes,字節,erbjudes逆轉。當他們被檢查時,他們會得到「開啓」的值。包含(),如何使用lambda
從這個我放在一起,它包含所有我想在LINQ的語句,以包括數字的字符串變量(P)。 假設所有複選框都被選中,我會得到一個「1234」的字符串,如果僅選中複選框2和4,則會導致「24」。
在我的數據庫我有一個名爲「類型」字段是int類型的。我想告訴數據庫包含所有具有可以在字符串p中找到的「Type」值的行。
像這樣的東西(當然,我的代碼不能正常工作,所以我需要你們):
var searchResult = from s in db.Ads select s;
string p = "1";
if (saljes != "on")
p = p.Replace("1", "");
if (kopes == "on")
p += "2";
if (bytes == "on")
p += "3";
if (erbjudes == "on")
p += "4";
searchResult = searchResult.Where(s => p.Contains(s => s.Type.ToString());
我還挺需要做的是相反的載有(),但如何?
你不能使用IEnumerable p'?如果你需要它,你總是可以用'String.Join'加入它,但是可以讓你更多地控制獲取單個值。另一個選擇是使用位:'Int32 p;'和測試'(p&1)','(p&4)'等。 –
2012-04-25 13:31:09
所以如果你的字符串是「234」,那麼值爲「24」應該在你的數據庫中找到? – 2012-04-25 13:32:46
您的問題對我來說有點不清楚 - 查看幾個您希望針對各種「類型」值發生的示例會很有用。 – 2012-04-25 13:35:27