1. 程式人生 > >C#之四 List 泛型集合

C#之四 List 泛型集合

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _07List泛型集合
{
    class Program
    {
        static void Main(string[] args)
        {
            List<int> list = new List<int>();//定義一個int集合
            list.Add(5);//新增一個元素5
            list.AddRange(new int[] { 1,4,3,7});
            //  list.Remove(3);
            //list.RemoveAll(n=>n>4);
            // list.RemoveAt(3);
            // list.RemoveRange(1, 3);
            // list.Insert(0, 34);
            //  list.InsertRange(1,new int[] { 200,300,400});


            //集合轉陣列呼叫ToArray()
            int[] nums=list.ToArray();


            List<string> list2 = new List<string>();
           string[] str= list2.ToArray();


            string[] str3 = {"hello","world"};
           List<string>list3= str3.ToList();


            //遍歷輸出list
            for (int i = 0; i < list.Count; i++)
            {
                Console.WriteLine(list[i]);
            }
            Console.ReadKey();

            //遍歷輸出list3
            for (int i = 0; i < list3.Count; i++) {
                Console.WriteLine(list3[i]);
            }
            Console.ReadKey();
            //     Console.WriteLine(list[2]);

            //Console.WriteLine(list.Count);
            //Console.WriteLine(list.Capacity);



        }
    }
}



//集合--->陣列
//Count:獲取集合中實際包含的元素的個數
//Capcity:集合中可以包含的元素的個數

//list.Add(1); 1則開4,5則開8空間
//Console.WriteLine(list.Count);
//Console.WriteLine(list.Capacity);

//新增元素的方法:
//Add的是新增單個元素
//AddRange是新增集合


            //list.Remove(100);//移除100
            //list.RemoveAll(n => n > 3);//移除大於3的所有元素

            //list.RemoveAt(3);//根據下標索引移除,3是下標

            //list.RemoveRange(1, 6);//移除一個範圍內的所有元素

            // list.Insert(1, 200);//在下標為1的地方插入200

            // list.InsertRange(0, new int[] { 5, 4, 3, 2, 1 });//插入一個數組,會變成單個元素

            //集合跟陣列之間的轉換

            //集合----->陣列 呼叫ToArray()函式
           // List<int> list = new List<int>();
           // int[] nums = list.ToArray();

//若是string型別,則
// List<string> list2 = new List<string>();
//string[] str = list2.ToArray();


//陣列--->集合
//int[] nums3 = { 1, 2, 3, 4, 5, 6 };
//
//List<int> list3 = nums3.ToList();
//            // list3.Max();最大
//            //list3.min();最小
//          
//        
//            for (int i = 0; i<list3.Count; i++)
//            {
//                Console.WriteLine(list3[i]);//結果豎排123456
//            }
//
//            Console.ReadKey();
//        }
//    }
namespace _08List集合練習
{
    class Program
    {
        static void Main(string[] args)

        {
            //將兩個集合合併去重
            //集合初始化

            //List<string> list1 = new List<string>() { "a", "b", "c", "d", "e" };
            //List<string> list2 = new List<string>() { "d", "e", "f", "g", "h" };
            //for (int i = 0; i < list2.Count; i++)
            //{
            //    if (!list1.Contains(list2[i]))//如果list1不包含list2的元素
            //    {
            //        list1.Add(list2[i]);
            //    }
            //}
            //foreach (string item in list1)
            //{
            //    Console.WriteLine((item));
            //}
            //Console.ReadKey();


            ////隨機生成10個在1-100之間不重複的偶數放在list集合中(新增10次,可能迴圈多次)
            //Random r = new Random();

            //List<int> list = new List<int>();
            //for (int i = 0; i < 10; i++)
            //{
            //    int rNumber = r.Next(1, 101);
            //    if (!list.Contains(rNumber) && rNumber % 2 == 0)
            //    {
            //        list.Add(rNumber);

            //    }
            //    else {
            //        i--;//不瞭解
            //    }
            //}
            //foreach (int item in list)
            //{
            //    Console.WriteLine(item);
            //}
            //Console.ReadKey();

            //分類奇偶數
            int[] num = { 1,2,3,4,5,6,7,8,9};
            List<int> listjishu = new List<int>();
            List<int> listoushu = new List<int>();
            for(int i = 0; i < num.Length; i++)
            {
                if (num[i] % 2 == 0)
                {
                    listoushu.Add(num[i]);
                }
                else {
                    listjishu.Add(num[i]);
                }
                
            }
            //奇數在前
            
            listjishu.AddRange(listoushu);
            foreach (int item in listjishu) {
                Console.WriteLine(item);
            }

            listoushu.AddRange(listjishu);
            foreach (int item in listoushu) {
                Console.WriteLine(item);
            }
            Console.ReadKey();


        }
    }
}