簡體   English   中英

如何在Dynamic Linq中編寫String.Contains

[英]How to write String.Contains in Dynamic Linq

我正在嘗試編寫動態linq查詢,如:

var q = obj.Where("message.Contains('hello')");

我知道它適用於

var q = obj.Where(o => o.message.Contains('hello'));

但我正在尋找動態的linq解決方案

謝謝。

現在找到我的答案。

var q = obj.Where("message.Contains(@0)", "hello");

我知道這不是你想要的,但是要考慮一下:

根據您希望執行的各種操作的數量,我會創建一個switch語句來處理這個問題。

舉個例子,一些使用枚舉的偽代碼:

(如果需要,OperationType是枚舉)

private object example(OperationType optype, Object obj, String match)
{
   var q;
   switch (optype)
        {
        case OperationType.Contains:
            q = obj.Where(o => o.message.Contains(match));
        break;
        case OperationType.EndsWith:
            q = obj.Where(o => o.message.EndsWith(match));
        break;
        case OperationType.StartsWith:
            q = obj.Where(o => o.message.StartsWith(match));
        break;
    }
    return q;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM