我有一個userList
需要從字符串代碼排除如下面C#LINQ用戶列表不是一個字符串
string[] userList={"gerald","admin","john"} ;
List<EventItem> logall= new List<EventItem>();
List<EventItem> logfilteruser= new List<EventItem>();
logall= Records.AsQueryable().Select(e => new EventItem(e)).ToList();
logall將所有的記錄
如何排除userList?
以下是我的代碼排除userList。
if (users != "") {
foreach (var filter in userList) {
logfilteruser= logall.Where(x => !x.depict.Contains(filter)).ToList();
}
的描繪是在記錄一個字符串屬性,這有很多的記錄,以下是描繪字符串值
depict= "username:\t\tgerald\r\n\t\t\t0x18ECC03\r\n\t";
depict= "username:\t\tjason\r\n\t\t\t0x18ECC03\r\n\t";
之一,如果userList
只有一個value(gerald)
,代碼works.When userList
有多個它不工作。結果顯示所有記錄出來,這是不正確的。
我如何使用linq
或其他方式修復代碼?感謝併爲我的英文破碎感到抱歉。
在這裏,我有我的參考EventItem和記錄
public class EventItem {
public int Id { get; set; }
public string LogName { get; set; }
public string depict{ get; set; }
public WinEventItem(EventRecord record) {
Id = record.Id;
LogName = record.LogName;
depict= record.FormatDescription();
}
}
public List<EventRecord> Records { get; private set; }
private Records = new List<EventRecord>();
謝謝你讓我知道使用foreach的其他方式,但我試了幾分鐘。它看起來不起作用,它將最大記錄結果返回給我。我也嘗試使用包含第一個比使用expect或removeall – geraldlim
你可以發佈你的'EventItem'模型嗎?你聲明'描述'是一個字符串,但可能有很多記錄。你是什麼意思? –
對不起,我只是發佈我的EventItem模型 – geraldlim