C# 使用正则表达式的for循环中的OR条件

C# 使用正则表达式的for循环中的OR条件,c#,asp.net,C#,Asp.net,我有一个for循环,在这个循环中我循环抛出一个数据表行。我需要在这个循环中实现一个条件,比如,循环必须只执行10次或数据表中的行数(哪个更小)。 示例-如果datatable有12行,循环只需要执行10次。或者如果datatable有8行,循环只需要执行8次,而不是10次。我的datatable的名称是“dt”。 我试过这样的东西 for (int i = 0; i < 10 || dt.Rows.Count;i++ ) for(int i=0;i

我有一个for循环,在这个循环中我循环抛出一个数据表行。我需要在这个循环中实现一个条件,比如,循环必须只执行10次或数据表中的行数(哪个更小)。 示例-如果datatable有12行,循环只需要执行10次。或者如果datatable有8行,循环只需要执行8次,而不是10次。我的datatable的名称是“dt”。 我试过这样的东西

  for (int i = 0; i < 10 || dt.Rows.Count;i++ )
for(int i=0;i<10|dt.Rows.Count;i++)

我相信我可以在我的代码中用一个简单的正则表达式来实现这个逻辑。任何人都可以指出需要做什么。

使用
&&
而不是
|

for (int i = 0; i < 10 && i < dt.Rows.Count; i++)
int cnt=0;
如果(dt.Rows.Count<10)
{
cnt=dt.Rows.Count;
}
其他的
{
cnt=10;
}

for(int i=0;i正则表达式用于匹配文本,而不是创建代码逻辑。您需要布尔值
&&
(“and”)而不是
|
(“or”)。OP的逻辑是正确的,您没有回答他提出的问题。对不起,我匆忙阅读并解释了其他内容。。。
for (int i = 0; i < Math.min(10, dt.Rows.Count); i++)
int cnt=0;
if(dt.Rows.Count < 10)
{
  cnt=dt.Rows.Count;
}
else
{
  cnt=10;
}

for(int i=0;i<cnt;i++)
{}