首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >获取添加到BindlingList中的最后一项

获取添加到BindlingList中的最后一项
EN

Stack Overflow用户
提问于 2012-06-06 21:44:58
回答 2查看 604关注 0票数 0

我有一个BindingList变量,我需要获取添加到其中的最后一项。下面的代码可以工作,但我想知道是否有更好的方法,或者我遗漏了什么:

代码语言:javascript
运行
复制
WorkoutScheduleList[WorkoutScheduleList.IndexOf(WorkoutScheduleList[(WorkoutScheduleList.Count - 1)])].WorkoutScheduleID);

它不是最容易读懂的,但它基本上是获取列表的计数并从中减去1,然后将其用于IndexOf方法,以获得添加到列表中的最后一项。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-06-06 22:49:28

您可以处理绑定列表的ListChanged事件,并保留添加的项的引用。

示例:

代码语言:javascript
运行
复制
class Program
{
    static object last_item;

    static void Main(string[] args)
    {
        BindingList<object> WorkoutScheduleList = new BindingList<object>();

        WorkoutScheduleList.ListChanged += (s, e) => {
            if (e.ListChangedType == ListChangedType.ItemAdded)
                last_item = WorkoutScheduleList[e.NewIndex];
        };

        WorkoutScheduleList.Add("Foo");
        WorkoutScheduleList.Add("Bar");
        WorkoutScheduleList.Insert(1, "FooBar");

        //prints FooBar
        Console.WriteLine(String.Format("last item added: {0}", last_item));
    }
}
票数 2
EN

Stack Overflow用户

发布于 2012-06-06 22:11:26

代码语言:javascript
运行
复制
var lastItem = WorkoutScheduleList[WorkoutScheduleList.Count - 1].WorkoutScheduleID;

或者使用LinQ

代码语言:javascript
运行
复制
var lastLinqItem = WorkoutScheduleList.Last().WorkoutScheduleID;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10915474

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档