相关疑难解决方法(0)

如何找到foreach索引

有可能找到foreach索引吗?

在一个for循环如下:

for ($i = 0; $i < 10; ++$i) {
   echo $i . ' ';
}
Run Code Online (Sandbox Code Playgroud)

$i 会给你索引.

我是否必须使用for循环或是否有某种方法来获取foreach循环中的索引?

php foreach loops

448
推荐指数
10
解决办法
60万
查看次数

为什么IEnumerable上没有ForEach扩展方法?

受到另一个询问失踪问题的启发 Zip功能的:

为什么课堂上没有ForEach扩展方法Enumerable?还是在任 唯一获得ForEach方法的类是List<>.有没有理由错过(表演)?

.net c# vb.net extension-methods

368
推荐指数
10
解决办法
14万
查看次数

Java,如何在"for each"循环中获取当前索引/键

在Java中,如何获取Java中元素的当前索引?

for (Element song: question){
    song.currentIndex();         //<<want the current index.
}
Run Code Online (Sandbox Code Playgroud)

在PHP中你可以这样做:

foreach ($arr as $index => $value) {
    echo "Key: $index; Value: $value";
}
Run Code Online (Sandbox Code Playgroud)

java

231
推荐指数
5
解决办法
29万
查看次数

Foreach循环,确定哪个是循环的最后一次迭代

我有一个foreach循环,需要在从中选择最后一项时执行一些逻辑List,例如:

 foreach (Item result in Model.Results)
 {
      //if current result is the last item in Model.Results
      //then do something in the code
 }
Run Code Online (Sandbox Code Playgroud)

如果不使用for循环和计数器,我可以知道哪个循环是最后的吗?

c# asp.net foreach

216
推荐指数
10
解决办法
21万
查看次数

foreach with index

是否有C#相当于Python enumerate()和Ruby each_with_index

c# foreach

150
推荐指数
6
解决办法
18万
查看次数

获取razor foreach的索引值

List<T>在我的视图中在一个剃刀foreach循环中迭代一个部分.在部分我正在渲染一个我希望在我的视图中连续4行的记录.我有两个结束列的css类,因此需要在部分中确定调用是第一个还是第四个记录.在我的部分中输出正确代码的最佳方法是什么?

这是我的主页面,其中包含循环:

@foreach (var myItem in Model.Members){

        //if i = 1
        <div class="grid_20">
        <!-- Start Row -->

        //is there someway to get in for i = 1 to 4 and pass to partial?
        @Html.Partial("nameOfPartial", Model)

        //if i = 4 then output below and reset i to 1
        <div class="clear"></div>
        <!-- End Row -->
        </div>

}
Run Code Online (Sandbox Code Playgroud)

我想我可以创建一个int,我可以在每次传递时更新并在这里渲染文本没有问题,但它将整数值传递给我更偏心的部分.除非有更好的方法.

这是我的部分:

@{
switch()
case 1:
        <text>
        <div class="grid_4 alpha">
        </text>
break;
case 4:
        <text>
        <div class="grid_4 omega">
        </text>
break;
default:
        <text>
        <div …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc partial-views razor asp.net-mvc-2

52
推荐指数
5
解决办法
10万
查看次数

在ASP.NET MVC中使用自定义编辑器模板和IEnumerable模型的正确,惯用方法

这个问题是为什么我的DisplayFor没有遍历我的IEnumerable <DateTime>的后续行动


快速刷新.

什么时候:

  • 该模型具有类型的属性 IEnumerable<T>
  • 您将此属性传递给Html.EditorFor()使用仅接受lambda表达式的重载
  • T在Views/Shared/EditorTemplates下有一个类型的编辑器模板

然后MVC引擎将自动为可枚举序列中的每个项调用编辑器模板,生成结果列表.

例如,当存在Order具有属性的模型类时Lines:

public class Order
{
    public IEnumerable<OrderLine> Lines { get; set; }
}

public class OrderLine
{
    public string Prop1 { get; set; }
    public int Prop2 { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

并且有一个视图Views/Shared/EditorTemplates/OrderLine.cshtml:

@model TestEditorFor.Models.OrderLine

@Html.EditorFor(m => m.Prop1)
@Html.EditorFor(m => m.Prop2)
Run Code Online (Sandbox Code Playgroud)

然后,当您@Html.EditorFor(m => m.Lines)从顶级视图调用时,您将获得一个页面,其中包含每个订单行的文本框,而不仅仅是一个.


但是,正如您在链接问题中看到的那样,这仅在您使用特定的重载时才有效EditorFor.如果您提供模板名称(为了使用未在OrderLine类之后命名的模板),则不会发生自动序列处理,而是会发生运行时错误.

此时,您必须将自定义模板的模型声明为IEnumebrable<OrderLine>并以某种方式手动迭代其项目以输出所有这些项目,例如

@foreach (var line in Model.Lines) {
    @Html.EditorFor(m …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc ienumerable view-templates razor-3

50
推荐指数
1
解决办法
2万
查看次数

C#中foreach循环中的计数器

foreach的工作: 据我所知,

foreach是一个循环,它逐个遍历集合或数组,从0索引开始直到集合的最后一项.

所以,如果我在数组中有n个项目.

foreach (var item in arr)
{

}  
Run Code Online (Sandbox Code Playgroud)

然后,在第一次迭代中,item = arr [0];
然后,在第2, item = arr [1];
.
.
.
在last(nth), item = arr [n-1];

结论:从工作开始,它似乎在每次迭代时都知道从数组中取出哪个值,或者它知道要从数组中获取的项的索引.

现在我的问题是:如何在不使用新变量的情况下获取项目的索引?

foreach (string item in mylist)
{
   if (item == "myitem")
   {
       // get index of item
       break;
   }
}
Run Code Online (Sandbox Code Playgroud)

c# foreach counter

43
推荐指数
4
解决办法
11万
查看次数

在C#中调试foreach循环:这是什么迭代?

除了设置调试变量并在每次启动foreach时递增它,当你连接Visual Studio调试器时,有没有办法告诉这是循环中的第X个时间?

我想这将是Visual Studio的一个功能,如果有的话,不会添加到已编译的代码中.

.net c# debugging foreach visual-studio

34
推荐指数
6
解决办法
1万
查看次数

在'foreach'循环中获取数组键

如何foreach在C#循环中获取当前元素的键?

例如:

PHP

foreach ($array as $key => $value)
{
    echo("$value is assigned to key: $key");
}
Run Code Online (Sandbox Code Playgroud)

我想用C#做什么:

int[] values = { 5, 14, 29, 49, 99, 150, 999 };

foreach (int val in values)
{
    if(search <= val && !stop)
    {
         // Set key to a variable
    }
}
Run Code Online (Sandbox Code Playgroud)

c# arrays

27
推荐指数
3
解决办法
8万
查看次数