• <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

            導航

            統計

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

            常用鏈接

            隨筆分類

            隨筆檔案

            收藏夾

            Blogs

            c#(csharp)

            C++(cpp)

            Enlish

            Forums(bbs)

            My self

            Often go

            Useful Webs

            Xml/Uml/html

            搜索

            •  

            積分與排名

            • 積分 - 1804303
            • 排名 - 5

            最新評論

            閱讀排行榜

            久久久久18| 国产精品久久波多野结衣| 久久人人爽人人爽人人片AV东京热| 国产精品99久久久精品无码 | 色综合久久中文色婷婷| 久久亚洲色一区二区三区| 精品国产一区二区三区久久久狼 | 久久精品国产69国产精品亚洲| 久久国产一区二区| 久久国产劲爆AV内射—百度| 日韩一区二区久久久久久| 亚洲午夜久久久久久久久电影网| 99久久精品国产综合一区| 亚洲综合日韩久久成人AV| 青青热久久国产久精品| 久久精品黄AA片一区二区三区| 久久久久这里只有精品| 久久66热人妻偷产精品9| 久久天天躁夜夜躁狠狠| 久久久久国产精品麻豆AR影院 | 日本一区精品久久久久影院| 亚洲中文字幕久久精品无码喷水| 久久九九免费高清视频| 免费国产99久久久香蕉| 久久精品亚洲中文字幕无码麻豆| 久久夜色精品国产亚洲| 伊人久久成人成综合网222| 久久国产精品二国产精品 | 亚洲中文字幕久久精品无码喷水 | 国内精品久久久久久久久电影网| 精品久久久无码中文字幕天天| 久久精品www| 国产精品成人无码久久久久久| 97精品久久天干天天天按摩| 国产精品免费看久久久| 久久亚洲AV成人无码国产| 久久婷婷成人综合色综合| 久久久噜噜噜www成人网| 久久精品99久久香蕉国产色戒| 久久久久AV综合网成人| 国产精品美女久久久m|