C# 在每4个循环后添加div

C# 在每4个循环后添加div,c#,loops,foreach,C#,Loops,Foreach,我需要在每5幅图像后添加一个div标记,因此html标记应该如下所示: <div> <img src="http://farm1.static.flickr.com/143/321464099_a7cfcb95cf_t.jpg" /> <img src="http://farm4.static.flickr.com/3089/2796719087_c3ee89a730_t.jpg" /> <img src="http:

我需要在每5幅图像后添加一个div标记,因此html标记应该如下所示:

<div>
      <img src="http://farm1.static.flickr.com/143/321464099_a7cfcb95cf_t.jpg" />
      <img src="http://farm4.static.flickr.com/3089/2796719087_c3ee89a730_t.jpg" />
      <img src="http://farm1.static.flickr.com/79/244441862_08ec9b6b49_t.jpg" />
      <img src="http://farm1.static.flickr.com/28/66523124_b468cf4978_t.jpg" />

</div>
<div>

      <img src="http://farm1.static.flickr.com/163/399223609_db47d35b7c_t.jpg" />
      <img src="http://farm1.static.flickr.com/135/321464104_c010dbf34c_t.jpg" />
      <img src="http://farm1.static.flickr.com/40/117346184_9760f3aabc_t.jpg" />
      <img src="http://farm1.static.flickr.com/153/399232237_6928a527c1_t.jpg" />
    </div>
<div>

      <img src="http://farm4.static.flickr.com/3629/3323896446_3b87a8bf75_t.jpg" />
      <img src="http://farm4.static.flickr.com/3023/3323897466_e61624f6de_t.jpg" />
      <img src="http://farm4.static.flickr.com/3650/3323058611_d35c894fab_t.jpg" />
      <img src="http://farm4.static.flickr.com/3635/3323893254_3183671257_t.jpg" />
    </div>

我必须使用foreach循环这是要求,除了我可以使用任何控制语句,任何人可以提供这种逻辑的任何帮助,我尝试过类似的方法,但没有成功,最大图像数是100,这就是为什么我将int初始化为100

 foreach (var page in images)
 {
    int b = 100 ;
    for (int a = 0 ; a = b ; a++)
    {
        <div><img src="page.name" alt="page.alt" /> </div>
    }
 }
foreach(图像中的变量页)
{
int b=100;
对于(int a=0;a=b;a++)
{
}
}

您可以对行进行计数,并在计数可被四整除时添加

var count = 0;
foreach (var row in myData) {
    // Open before rows 0, 4, 8, 12, 16, and so on
    if (count%4 == 0) {
        // Add <div>
    }
    // Write the line
    // Close after rows 3, 7, 11, 15, and so on
    if (count%4 == 3) {
        // Add </div>
    }
}
// Don't forget the closing row in case the number of images
// is not divisible by four
if (count%4 != 3) {
    // Add </div>
}
var计数=0;
foreach(myData中的var行){
//在第0、4、8、12、16行之前打开,依此类推
如果(计数%4==0){
//加
}
//写一行
//在第3、7、11、15行之后关闭,依此类推
如果(计数%4==3){
//加
}
}
//不要忘记关闭行,以防图像数量减少
//不能被四整除
如果(计数%4!=3){
//加
}

沿着这些思路,你应该朝着正确的方向前进

foreach (var page in images)
 {
    int b = 100 ;
    bool first=true;
    bool wroteDivEnd = false;
    for (int a = 0 ; a = b ; a++)
    {
        wroteDivEnd=false;
        if (a% 4==0)
        {
           if (!first)
           { 
              // as long as this is not the first time we have written a 
              //start div, then we need to write and end one
              //write previous div end </div>
              wroteDivEnd=true;
           }
           //write new div start <div>
           //set the flag so we know we have written the first start div
           first=false;
        }
        // write out the images
        <img src="page.name" alt="page.alt" /> 

    }
    //make sure your last </div> is written
    if(!wroteDivEnd)
    { 
     //write out the final missing </div>
    }
 }
foreach(图像中的变量页)
{
int b=100;
bool first=true;
bool wroteDivEnd=false;
对于(int a=0;a=b;a++)
{
wroteDivEnd=false;
如果(a%4==0)
{
如果(!第一个)
{ 
//只要这不是我们第一次写
//开始div,然后我们需要编写并结束一个
//写入上一个div end
wroteDivEnd=true;
}
//写入新的div start
//设置标志,这样我们就知道我们已经编写了第一个start div
第一个=假;
}
//写出图片
}
//确保你的最后一封信已经写好
如果(!wroteDivEnd)
{ 
//写出最后的答案
}
}
试试这个:

var imagesInDiv = 4;
var maxItems = 100;
for (var i = 0; i < images.Length && i < maxItems; ++i)
{
    if (i % imagesInDiv == 0)
    {
        <div>
    }

    <img src="@images[i].name" alt="@images[i].alt" />

    // if this is the last image in a set OR last image that you have OR last image allowed
    if (i % imagesInDiv == imagesInDiv - 1 || i == images.Length - 1 || i == maxItems - 1)
    {
        </div>
    }
}
var-imagesInDiv=4;
var maxItems=100;
对于(变量i=0;i
编辑1:我添加了一些注释

string finalstring=“”;
string finalstring = "";
foreach (var page in images)
{
   for (int a = 0 ; a < 100 ; a++)
   {
      if (a % 4 != 0)
         str += <img src="page.name" alt="page.alt" />;  
      else
      {
         str = "<div>" + str + "</div>";
         finalstring += str;  
         str = "";
      }
   }
}
foreach(图像中的var页面) { 对于(int a=0;a<100;a++) { 如果(a%4!=0) str+=; 其他的 { str=“”+str+”; 最后一环+=str; str=“”; } } }
为什么不检查
a%4==0
并在它为真时打印div?为什么你不能使用一个带有div和4个图像的转发器?希望我可以,foreach循环是这项工作的要求,我可以在foreachlooks中集成其他循环,但问题是,如果我得到100张图像,这组100/4=25个div标记,但是如果我有99个图像,这是一组24个,那么剩下的3个图像应该保留,但是我希望这3个图像也在div中,所以优先级是4,但是如果有3个,那么将这3个图像包装在div中div@MrA这就是最后一个
if
的目的@MrA这就是结尾的位的用途。看起来不错,但问题是,如果我有100张图像,这组图像的100/4=25个div标签,但是如果我有99张图像,这组图像为24张,那么剩下的3张图像应该保留,但我希望这3张图像也在div中,所以优先级是4,但如果有3个,则将这3个图像包装在div@MrA这就是这一点的意思->
//确保您的最后一个代码已经写好
我们必须为您解决所有问题吗?无论如何,添加了一个编辑,显示您可以如何执行此操作。。。