获取列表中元素的参数索引

Oip*_*oks 0 c# linq list

很难解释我用"普通"语言编写它的问题所以我只是发布我的代码(它会更容易理解):

我上课了File:

public class File
{
    public string Url { get; set; }
    public string Name { get; set; }
    public string Date { get; set; }
    public Bitmap Bitmap { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

所以我创建了一个列表files:

var files = new List<File>();
Run Code Online (Sandbox Code Playgroud)

而且,我已用数据填充它.

现在我有一个string(只有那个.)我想找到包含string在我的列表中的元素的索引.

就像是:

int index = files.IndexOf(new File
        {
            string.Empty,
            myString,
            string.Empty,
            null
        });
Run Code Online (Sandbox Code Playgroud)

任何的想法?

Zoh*_*led 5

List班有一个叫方法FindIndex,采用一个Predicate<T>作为参数.

你可以像这样使用它:

var index = files.FindIndex(f => f.Name == myString);
Run Code Online (Sandbox Code Playgroud)

它将返回与谓词匹配的第一个元素的索引,如果没有找到这样的元素,则返回-1.