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)
};

コレクションからNameプロパティのみを取得します

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