比较列表元素和字符串

本文关键字:字符串 列表元素 比较 | 更新日期: 2023-09-27 17:50:47

我有一个db表类型的列表,我想访问列表元素并与字符串进行比较,但我无法访问列表元素如何做到这一点?

List<Tbl_UserCustomField> customattribute = (from custom in tniDataContext.Tbl_UserCustomFields 
                                             where workOrderIndex.LoginId == custom.LoginId 
                                             select custom).ToList();

执行查询并在列表中存储查询结果后,customattribute只返回列表中元素的计数,但我想要字符串

比较列表元素和字符串

中的元素

访问方式:

foreach(var item in customattribute)
{
    if(item.SomeField == "someString")
       DoSomething();
    else
       DoSomethingElse();
}

如果varchar列是你想要的,那么你可以直接选择它:

var customattribute = (from custom in tniDataContext.Tbl_UserCustomFields 
                       where workOrderIndex.LoginId == custom.LoginId 
                       select custom.SomeColumn).ToList();
foreach(var item in customattribute)
{
    if(item == "someString")
       DoSomething();
    else
       DoSomethingElse();
}

试试customattribute.ForEach(i => Console.Write("{0}'t", i));,看看控制台显示什么?

如果你知道Tbl_UserCustomField类中的列或属性,其中包含你正在寻找的字符串,迭代customattribute并获取字符串。基本上,您必须在类型为List<string>的变量中捕获这样的结果。这可以通过普通的查询方式或使用Select Linq表达式完成,该表达式只检索您指定的

列。
        // Approach 1:
        List<string> customAttributeValues = customattribute.Select(c => c.YourStringFieldName).ToList();
        // Approach 2:
        List<string> customAttributeValues = new List<string>();
        foreach (var custom in customattribute)
        {
            customAttributeValues.Add(custom.YourStringFieldName);
        }