11

这是我的列表定义

public class EventsList
    {
        public int EventID { get; set; }
        public string EventName { get; set; }
    }

这是 C# 代码

string strCurrentUser = CommonWeb.GetLoginUser();
        EventsClass EventObj = new EventsClass();
        DataSet ds;
      List< EventsList> eventList = new List<EventsList>();
       EventsList eventobj = new EventsList();
       ds=EventObj.GetEvents(strCurrentUser);

我有一个下拉菜单,它应该单独显示 EventName。我怎么能做到这一点?

4

3 回答 3

42

您的问题不清楚,但听起来它可能就像使用索引器List<T>一样简单,这使得访问元素看起来像数组访问:

List<string> values = ...;
string name = values[1]; // Index is 0-based

对于更一般IEnumerable<string>的情况,您可以使用ElementAt扩展方法:

using System.Linq;

...
IEnumerable<string> values = ...;
string name = values.ElementAt(1);
于 2012-08-28T06:06:50.497 回答
3
.Select(i => i.Name);

例如

static void Main(string[] args)
        {
            var records = GetPersonRecords();

            var onlyName = records.Select(i => i.Name);
        }

        private static List<Person> GetPersonRecords()
        {
            var listPerson = new List<Person>();

            listPerson.Add(new Person { Id = 1, Name = "Name1" });
            listPerson.Add(new Person { Id = 2, Name = "Name2" });

            return listPerson;
        }
    }

    class Person
    {
        public int Id { get; set; }
        public string Name { get; set; }
    }

希望这可以帮助

于 2012-08-28T06:12:49.757 回答
0

我们的力量Linq可以做到这一点...

下面的示例我单独检索特定的属性..

List<Item> oListItem = new List<Item>() {
    new Item("CD", "001CD", Enum.GroupTYPE.FAST_MOVING),
    new Item("TV", "002CD", Enum.GroupTYPE.FAST_MOVING),
    new Item("CD", "001CD", Enum.GroupTYPE.FAST_MOVING),
    new Item("LAPTOP", "003CD", Enum.GroupTYPE.FAST_MOVING),
    new Item("MOBILE", "004CD", Enum.GroupTYPE.NORMAL),
    new Item("CHARGER", "005CD", Enum.GroupTYPE.LEAST_MOVING)
};

仅从 Collection 中检索 Name 属性

var Item = from Item oname in oListItem select oname.ItemName;
于 2012-08-28T06:19:56.453 回答