小编elo*_*ell的帖子

为什么List <T> .IndexOf(T)在存在的对象上返回-1?

我有一个foreach循环遍历ASP.NET MVC/Razor项目中的对象列表.我正在尝试使用当前对象的索引来确定列表中是否有另一个对象.

每次循环,我得到-1作为从以下代码中的Model.TodaySoups.IndexOf(汤)返回的值:

@foreach(MenuItem soup in Model.TodaysSoups)
{
    int i = Model.TodaysSoups.IndexOf(soup); 
    string comma = i < Model.TodaysSoups.Count ? "," : "";
    <li class="soup">@soup.Name@comma </li>
}
Run Code Online (Sandbox Code Playgroud)

TodaysSoups定义为:

public List<MenuItem> TodaysSoups 
Run Code Online (Sandbox Code Playgroud)

我也试着隐含地定义汤:

var soup in Model.TodaysSoups
Run Code Online (Sandbox Code Playgroud)

没有帮助.

据我所知,这应该有效.显然,我错了.任何帮助,将不胜感激.

更新: 你可以忽略任何一个问题,我一直在盯着这一段时间,只是尝试一下我能想到的,但是,谢谢你试图帮助我.奇怪的是我每次都得-1.

MenuItem定义

 public class MenuItem
{
    public int Id { get; set; }
    public string Name { get; set; }
    public string Description { get; set; }
    public decimal Price { get; set; }
    public string Category { get; set; }
    public …
Run Code Online (Sandbox Code Playgroud)

.net c# collections asp.net-mvc

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

标签 统计

.net ×1

asp.net-mvc ×1

c# ×1

collections ×1