C#比较SPItemList中的值,只检索匹配的值

C#比较SPItemList中的值,只检索匹配的值,c#,asp.net,linq,sharepoint,C#,Asp.net,Linq,Sharepoint,我的当前语句从SharePoint中检索所有Header1Ref值 我希望根据数组中的匹配结果进行筛选,而不是检索全部 我可以知道怎么做吗 当前声明: SPView view = record.GetView(ErmsConfig.GetGuid(ErmsConfig.Config.RecordListView)); SPQuery query = new SPQuery(view) { RowLimit = 0,

我的当前语句从SharePoint中检索所有
Header1Ref

我希望根据数组中的匹配结果进行筛选,而不是检索全部

我可以知道怎么做吗

当前声明:

SPView view = record.GetView(ErmsConfig.GetGuid(ErmsConfig.Config.RecordListView));

SPQuery query = new SPQuery(view)                     
{
    RowLimit = 0,                     
};

SPListItemCollection primaryHeaders = record.GetItems(query);

//currently gets all Header1Ref 
//- include filter to display only matches with parametersList[]
var distinctPrimaryHeaders = (from SPListItem item1 in primaryHeaders select item1["Header1Ref"]).Distinct().ToList();
//contain Header1Ref value in each cell to retrieve
parametersList[]
要与之比较的数组:

SPView view = record.GetView(ErmsConfig.GetGuid(ErmsConfig.Config.RecordListView));

SPQuery query = new SPQuery(view)                     
{
    RowLimit = 0,                     
};

SPListItemCollection primaryHeaders = record.GetItems(query);

//currently gets all Header1Ref 
//- include filter to display only matches with parametersList[]
var distinctPrimaryHeaders = (from SPListItem item1 in primaryHeaders select item1["Header1Ref"]).Distinct().ToList();
//contain Header1Ref value in each cell to retrieve
parametersList[]

示例代码供您参考(我将Header1Ref设置为测试的文本字段),希望对您有所帮助

var filterItems = primaryHeaders.Cast<SPListItem>()
                                .Where(p => p["Header1Ref"].ToString() == "a");
                foreach(var item in filterItems)
                {
                    Console.WriteLine(item.Title);
                }
var filteriems=primaryHeaders.Cast()
其中(p=>p[“Header1Ref”].ToString()==“a”);
foreach(filterItems中的var项)
{
控制台写入线(项目名称);
}

我对sharepoint开发不太了解,但您可以在linq语句中使用where子句,对吗?你试过什么了吗?