• <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 夢在天涯 閱讀(901) 評論(0)  編輯 收藏 引用 所屬分類: C#/.NET

            公告

            EMail:itech001#126.com

            導航

            統(tǒng)計

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

            常用鏈接

            隨筆分類

            隨筆檔案

            收藏夾

            Blogs

            c#(csharp)

            C++(cpp)

            Enlish

            Forums(bbs)

            My self

            Often go

            Useful Webs

            Xml/Uml/html

            搜索

            •  

            積分與排名

            • 積分 - 1804607
            • 排名 - 5

            最新評論

            閱讀排行榜

            久久国产亚洲精品| 久久国产精品一区| 99精品国产免费久久久久久下载 | 国产精品美女久久久久| 久久免费精品视频| 青青热久久国产久精品 | 久久人人爽人人澡人人高潮AV| 亚洲精品久久久www| 国产成年无码久久久久毛片| 激情久久久久久久久久| 久久亚洲精品成人av无码网站| 亚洲国产精品婷婷久久| 奇米影视7777久久精品人人爽| 久久精品九九亚洲精品天堂| 亚洲AV伊人久久青青草原| 久久精品中文字幕久久| 亚洲国产精品成人久久| 日本高清无卡码一区二区久久| 久久ZYZ资源站无码中文动漫| 欧美精品福利视频一区二区三区久久久精品 | 91精品国产乱码久久久久久 | 久久精品视屏| AAA级久久久精品无码区| 亚洲国产另类久久久精品黑人| 免费一级做a爰片久久毛片潮| 一本久久久久久久| 久久精品www| 狠狠久久亚洲欧美专区| 久久国产乱子伦免费精品| 亚洲国产精品18久久久久久| 久久精品国产2020| 老男人久久青草av高清| 国产成人精品三上悠亚久久| 2020久久精品亚洲热综合一本| 久久有码中文字幕| 青青草原综合久久大伊人| 人妻无码αv中文字幕久久琪琪布| 久久青青草视频| 伊人久久精品无码av一区| 伊人久久大香线蕉av不变影院| 亚洲va久久久噜噜噜久久|