• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            C++ Programmer's Cookbook

            {C++ 基礎} {C++ 高級} {C#界面,C++核心算法} {設計模式} {C#基礎}

            c#2.0 List<> 使用

            It is a fairly common programming scenario to find ourselves with a list of identical objects. In the past, without adequate support from programming languages, we found ourselves writing a lot of searching and sorting code, and that may have put you off using lists in favour of arrays. All that has changed with C# (particularly 2.0) - its implementation of a list makes handling such lists remarkably easy.

            For example, given the following class Person:

            public class Person

            {

            ????????? public int age;

            ????????? public string name;

            ????????? public Person(int age, string name)

            ????????? {

            ?????????????????? this.age = age;

            ?????????????????? this.name = name;

            ????????? }

            }

            We can create a list of Person objects and add six people like so:

            List<person>people =

            new List<person>();

            people.Add(

            new Person(50, "Fred"));
            people.Add(
            new Person(30, "John"));
            people.Add(
            new Person(26, "Andrew"));
            people.Add(
            new Person(24, "Xavier"));
            people.Add(
            new Person(5, "Mark"));
            people.Add(
            new Person(6, "Cameron"));

            C#'s list mechanism provides us with a number of useful methods. Personally, I find ForEach, FindAll and Sort to be very useful. ForEach allows us access to each item in the list. FindAll allows us to search for objects in the list that match a specific condition. Sort allows us to sort the objects in the list. The following code demonstrates how we might use each of these methods:

            Console.WriteLine("Unsorted list");

            people.ForEach(

            delegate (Person p)
            ?? { Console.WriteLine(String.Format("{0} {1}", p.age, p.name)); });

            // Find the young

            List<person> young = people.FindAll( delegate (Person p) { return p.age < 25; });
            Console.WriteLine("Age
            is less than 25");

            young.ForEach(
            delegate (Person p)
            ?? { Console.WriteLine(String.Format("{0} {1}", p.age, p.name)); });

            // Sort by name

            Console.WriteLine("Sorted list, by name");
            people.Sort(
            delegate (Person p1, Person p2)
            ?? {
            return p1.name.CompareTo(p2.name); });

            people.ForEach(

            delegate (Person p)
            ?? { Console.WriteLine(String.Format("{0} {1}", p.age, p.name)); });

            // Sort by age

            Console.WriteLine("Sorted list, by age");

            people.Sort(

            delegate (Person p1, Person p2)
            ?? {
            return p1.age.CompareTo(p2.age); });

            people.ForEach(

            delegate (Person p)
            ?? { Console.WriteLine(String.Format("{0} {1}", p.age, p.name)); });

            And here is the output that we should expect:

            Unsorted list
            50 Fred
            30 John
            26 Andrew
            24 Xavier
            5 Mark
            6 Cameron

            Age is less than 25
            24 Xavier
            5 Mark
            6 Cameron

            Sorted list, by name
            26 Andrew
            6 Cameron
            50 Fred
            30 John
            5 Mark
            24 Xavier

            Sorted list, by age
            5 Mark
            6 Cameron
            24 Xavier
            26 Andrew
            30 John
            50 Fred

            Lists are powerful and result in fewer, and more elegant, lines of code. Hopefully this short example has demonstrated their ease and you will find yourself using them in your day-to-day development activities.

            posted on 2006-04-14 10:20 夢在天涯 閱讀(905) 評論(0)  編輯 收藏 引用 所屬分類: C#/.NET

            公告

            EMail:itech001#126.com

            導航

            統計

            • 隨筆 - 461
            • 文章 - 4
            • 評論 - 746
            • 引用 - 0

            常用鏈接

            隨筆分類

            隨筆檔案

            收藏夾

            Blogs

            c#(csharp)

            C++(cpp)

            Enlish

            Forums(bbs)

            My self

            Often go

            Useful Webs

            Xml/Uml/html

            搜索

            •  

            積分與排名

            • 積分 - 1807764
            • 排名 - 5

            最新評論

            閱讀排行榜

            精品综合久久久久久88小说| 国产精品一久久香蕉产线看| 精品99久久aaa一级毛片| 中文字幕久久欲求不满| 久久国产乱子伦精品免费午夜| 九九久久精品无码专区| 天天综合久久一二三区| 久久婷婷五月综合97色直播| 久久精品aⅴ无码中文字字幕重口 久久精品a亚洲国产v高清不卡 | 色偷偷888欧美精品久久久| 亚洲狠狠久久综合一区77777 | 久久精品国产亚洲av水果派| 青青青国产精品国产精品久久久久| 久久996热精品xxxx| 久久免费的精品国产V∧| 精品久久久久久99人妻| 久久亚洲精品人成综合网| 国产69精品久久久久9999| 色欲久久久天天天综合网 | 欧美亚洲国产精品久久高清| 成人久久久观看免费毛片| 久久综合色区| 亚洲国产精品热久久| 久久久无码精品亚洲日韩京东传媒 | 伊人久久大香线蕉精品不卡| 国产日产久久高清欧美一区| 久久久精品人妻无码专区不卡| 午夜久久久久久禁播电影| 亚洲人AV永久一区二区三区久久 | 久久久久亚洲AV无码去区首| 久久棈精品久久久久久噜噜| 久久国产欧美日韩精品| 欧美久久综合九色综合| 久久久久国产日韩精品网站| 亚洲国产二区三区久久| 色综合久久综精品| 久久亚洲国产中v天仙www| 国产综合久久久久| 好属妞这里只有精品久久| 波多野结衣中文字幕久久| 成人久久久观看免费毛片|