//这是 List<T>.Find(Predicate<T> predicate) 的源代码。 public T Find(Predicate<T> match) { if (match == null) { ThrowHelper.ThrowArgumentNullException(ExceptionArgument.match); } for (int i = 0; i < this._size; i++) { if (match(this._items[i])) { return this._items[i]; } } return default(T); } //以下是我做项目中的一个方法 /// <summary> /// 根据评论编号获取评论信息 /// </summary> /// <param name="commentID">评论编号</param> /// <returns></returns> public Comment GetCommentByID(int commentID) { return commentList.Find((com) => com.CommentID == commentID); } /// <summary> /// 根据评论编号获取评论信息 /// </summary> /// <param name="commentID">评论编号</param> /// <returns></returns> public Comment GetCommentByID(int commentID) { foreach(Comment comment in commentList) if(comment.commentID==commentID) return comment; return null; } 两种方法都可以实现,两者的性能没有明显区别 只不过第一种只需要一行代码;