C# 如何从查询而不是foreach循环中检索数据?
我正在尝试从查询中获取数据,我在C# 如何从查询而不是foreach循环中检索数据?,c#,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 s
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));
}
}
如果您期望的内容有限,比如一个结果项,只需使用
.FirstOrDefault()
,下面是一个示例:
如果您希望有多行,循环是一种很好的方法。如果您坚决反对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踢到了尽头 甚至不知道它是如何工作的,代码中没有显示名为
owner
的集合。在哪里定义了owner
?一旦获得数据,您将如何处理它?您好,欢迎来到SO。请阅读,然后提供一个。很抱歉,我在“所有者查询”中添加了一个。仍然无法解决如何在不需要foreach的情况下获取数据的问题,谢谢。因此,您正在打印查询结果。你不想做的事?你到底想达到什么目的?