Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将一维数组显示为行和列_C#_Arrays_Algorithm - Fatal编程技术网

C# 将一维数组显示为行和列

C# 将一维数组显示为行和列,c#,arrays,algorithm,C#,Arrays,Algorithm,我有一个由品牌名称组成的1d数组,希望以列大小固定为“3”的格式显示,行号随着数组大小的增长而扩展。例如,如果阵列中有11个品牌,我想这样显示它 X X X X X X X X X X X 下面是嵌套的for循环,我尝试在其中实现所需的逻辑: int brandCount = Model.CampainBrands.Count(); int colLength = brandCount < 3 ? brandCount : 3; // Toplam marka sayısının 3'ü

我有一个由品牌名称组成的1d数组,希望以列大小固定为“3”的格式显示,行号随着数组大小的增长而扩展。例如,如果阵列中有11个品牌,我想这样显示它

X X X
X X X
X X X
X X
下面是嵌套的for循环,我尝试在其中实现所需的逻辑:

int brandCount = Model.CampainBrands.Count();
int colLength = brandCount < 3 ? brandCount : 3; // Toplam marka sayısının 3'ün altında olması durumunu güvenceye alır
int rowLength = brandCount / colLength + (brandCount % colLength != 0 ? 1 : 0);
int counter = 0;
for (int i = 0; i < rowLength; i++)
{
    <div class="row">
    @for (int j = 0; j < colLength && counter < brandCount; j++, counter++)
    {   
        var item = Model.CampainBrands[counter];
        <div class="col-md-4">
            <a href="@Url.Action("List","Campain",new {brandCode = item.Code})">
                <div class="card" style="width: 5rem;">
                    <img class="card-img-top" src="@item.ImageUrl" height="60px" width="60px" />
                    <div class="card-body">
                        <p class="card-text">@item.Name</p>
                    </div>
                </div>
            </a>
        </div>
    }
    </div>
}
int brandCount=Model.CampainBrands.Count();
int colLength=brandCount<3?品牌数量:3;//托普兰·马尔卡·萨伊恩·阿尔塔·奥尔马斯·杜鲁穆努·居文切耶·阿尔·鲁米尔
int rowLength=brandCount/colLength+(brandCount%colLength!=0?1:0);
int计数器=0;
for(int i=0;i
有没有办法改进这个算法?谢谢。

像这样的东西

var numbers = Enumerable.Range(1, 11).ToList();
const int rowlength = 3;

for (int i=0; i<numbers.Count; i=i+rowlength)
{
    Console.Write("<tr>");
    for (int j=i; j<numbers.Count && j<i+rowlength; j++)
    {
        Console.Write(numbers[j] + " ");    
    }
    Console.WriteLine("</tr>");
}
var numbers=Enumerable.Range(1,11).ToList();
const int rowlength=3;

对于(int i=0;i如果它是c#,那么为什么你不能创建一个自定义类型(类)并将这三个列名作为属性。然后创建一个具有此类型的列表。这样做就很容易了。幸运的是,我没有对这一点表示反对!:你尝试了吗?你需要一个
&
来防止超出总长度(防止索引超出范围),并且每行最多停止3项