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

            搜索

            •  

            積分與排名

            • 積分 - 1808482
            • 排名 - 5

            最新評論

            閱讀排行榜

            精品一久久香蕉国产线看播放| 2020久久精品亚洲热综合一本| 中文字幕久久精品无码| 久久性精品| 久久棈精品久久久久久噜噜| 亚洲精品白浆高清久久久久久 | 精品国产日韩久久亚洲| 亚洲婷婷国产精品电影人久久| 久久人做人爽一区二区三区| 国产一区二区久久久| 久久天天躁狠狠躁夜夜网站 | 久久久精品一区二区三区| 久久久久国产一级毛片高清版| 久久亚洲国产精品123区| 久久亚洲精品国产亚洲老地址 | 韩国三级大全久久网站| 久久性生大片免费观看性| 无码人妻少妇久久中文字幕蜜桃 | 亚洲综合精品香蕉久久网| 久久精品一区二区国产| 亚洲成av人片不卡无码久久| 亚洲精品无码久久久久久| 久久久网中文字幕| av午夜福利一片免费看久久| 狠狠色丁香婷婷久久综合五月 | 亚洲AV日韩精品久久久久久久| 国产成人精品久久综合| 久久婷婷国产综合精品| 久久99精品久久久大学生| 久久中文精品无码中文字幕| 国产午夜精品理论片久久影视 | 久久伊人中文无码| 久久精品草草草| 91精品国产综合久久精品| 久久人人爽人人爽人人片AV高清| 国产精品内射久久久久欢欢| 久久精品国产亚洲AV电影| 国产精品99久久久精品无码 | 蜜臀av性久久久久蜜臀aⅴ| 亚洲精品第一综合99久久| 久久精品国产一区二区 |