Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.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
Asp.net mvc 4 从for循环中的超链接的最后一条记录中删除逗号的正确方法?_Asp.net Mvc 4_C# 4.0 - Fatal编程技术网

Asp.net mvc 4 从for循环中的超链接的最后一条记录中删除逗号的正确方法?

Asp.net mvc 4 从for循环中的超链接的最后一条记录中删除逗号的正确方法?,asp.net-mvc-4,c#-4.0,Asp.net Mvc 4,C# 4.0,我有一个要求,我们必须从最后一条记录中删除逗号。所有记录都是超链接。 例如,C#、JAVA、IOS所有的锚定标签都是独立的,因为它们的登录页是独立的 我想到了一个解决方案,它工作得很好。我想问一下,从性能角度看,这是否是正确的方法,好像数据增加了,那么循环也增加了 @foreach (var items in Model.Topics) { //Saving the index of each record var index = Model.Topics.LastIndexOf(items);

我有一个要求,我们必须从最后一条记录中删除逗号。所有记录都是超链接。 例如,C#、JAVA、IOS所有的锚定标签都是独立的,因为它们的登录页是独立的

我想到了一个解决方案,它工作得很好。我想问一下,从性能角度看,这是否是正确的方法,好像数据增加了,那么循环也增加了

@foreach (var items in Model.Topics)
{
//Saving the index of each record
var index = Model.Topics.LastIndexOf(items);
//Adding 1 on index as it starts from 0 and matching it with the count of the List.If it matches no comma if it doesn't matches then comma
if (index + 1 == Model.Topics.Count())
{
 <a href="#">@Html.Raw(items.name)</a>
}
else 
  {
  <a href="#">@Html.Raw(items.name),</a>
 }
 }
@foreach(Model.Topics中的变量项)
{
//保存每个记录的索引
var索引=Model.Topics.LastIndexOf(项目);
//在索引上添加1,因为它从0开始,并将其和列表的计数相匹配。如果它不匹配,则使用逗号
if(index+1==Model.Topics.Count())
{
}
其他的
{
}
}

请给出建议,并张贴你做同样事情的方法。

你无法避免这种循环。但是声明
int count=Model.Topics.count()
在循环之前和
if(index+1==count)
避免在每个循环中运行查询。我不理解这一部分。和if(index+1==count)避免在每个循环中运行查询,因为
.count()
是一个linq查询。为了计算该查询的结果,它必须对集合中的每个项进行迭代,以确定集合中有多少项。明白了,因此根据要求,我的代码是正确的吗?有很多方法可以做到这一点,但是你所做的很好(除了我前面提到的那一点),你无法避免循环。但是声明
int count=Model.Topics.count()
在循环之前和
if(index+1==count)
避免在每个循环中运行查询。我不理解这一部分。和if(index+1==count)避免在每个循环中运行查询,因为
.count()
是一个linq查询。为了计算该查询的结果,它必须对集合中的每个项进行迭代,以确定集合中有多少项。明白了,因此根据要求,我的代码是正确的吗?有很多方法可以做到这一点,但你所做的很好(除了我前面提到的那一点)