如何从查询而不是foreach循环中检索数据?

时间:2018-10-31 16:10:33

标签: c#

我正在尝试从查询中获取数据,我对foreach感到很幸运,但是我不想循环以获取数据。

我如何获取数据的示例:

using (var db = new VeterinaryModelContainer())
{
    var owner = from b in db.Owners
                orderby b.Surname
                select b;
    var pets = from b in db.Pets
               select b;
    foreach (var OwnerName in owner)
    {
        Console.WriteLine(String.Format("{0,-10} | {1,-10} |", 
            OwnerName.Surname, 
            OwnerName.Forename));
    }
}

2 个答案:

答案 0 :(得分:1)

我想,如果您虔诚地反对ForEach循环,则可以摆脱它。更改此:

foreach (var OwnerName in owner)
{
    Console.WriteLine(String.Format("{0,-10} | {1,-10} |", 
        OwnerName.Surname, 
        OwnerName.Forename));
}

对此

Console.WriteLine
(
    string.Join
    (
        Environment.NewLine, 
        owner.Select
        (
            o => string.Format("{0,-10} | {1,-10} |", o.Surname, o.Forename)
        )
    )
);

不确定它是否可以提高可读性,但是我们确定将ForEach踢到了路边!

答案 1 :(得分:0)

如果您期望有限的内容(例如一个结果项),只需使用 const prefsDenyButton = await frame.$('#option-refuse-phv1L'); await prefsDenyButton.click(); ,这是一个示例:

LINQ FirstOrDefault check for default value

如果您希望有多行,则循环是一种好方法。