【发布时间】:2012-08-11 12:22:29
【问题描述】:
我有 foreach 来显示来自 myquery 的结果,当结果不为空时它可以工作。我想知道foreach还有其他吗?当 myquery 的结果为空时采取措施?
var rs = from cs in db.CsCustomers
from ai in db.ArInvoices
where cs.CustomerID == ai.CustomerID &&
ai.Kategori != null
orderby cs.Unit
select new
{
cs.CustomerID,
cs.Unit,
cs.Name
};
foreach (var r in rs)
{
c = new TableCell();
c.Text = r.CustomerID;
c.RowSpan = jk;
tr.Cells.Add(c);
c = new TableCell();
c.Text = r.Unit;
c.RowSpan = jk;
tr.Cells.Add(c);
c = new TableCell();
c.Text = r.Name;
c.RowSpan = jk;
tr.Cells.Add(c);
}
【问题讨论】:
-
您可能想要添加一个方法来删除所有重复的代码
c = new TableCell(); c.Text = r.CustomerID; c.RowSpan = jk; tr.Cells.Add(c); -
如果你仔细想想……那没有多大意义。 Foreach,字面意思是“为某物集合中的每件事物(做某事)”。下面的人给出的答案是“(do something) for every things in a collection of things where something is not null”..希望这对你有意义。
-
@SimonWhitehead 不,他们没有,他们检查 somethingS 集合是否为空,然后做其他事情,而不是单独做某事。
标签: c# foreach if-statement dbnull