欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C# 列表List的常用屬性和方法介紹

 更新時(shí)間:2021年04月12日 11:28:21   作者:戒生  
這篇文章主要介紹了C# 列表List的常用屬性和方法介紹,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

1.創(chuàng)建列表

(列表可以存儲(chǔ)任何類型的數(shù)據(jù),在創(chuàng)建列表對(duì)象的時(shí)候首先要指定你要?jiǎng)?chuàng)建的這個(gè)列表要存儲(chǔ)什么類型的)(泛型)

//創(chuàng)建列表
        //方法一
        List<int> intList = new List<int>();//創(chuàng)建了一個(gè)空的列表 通過(guò)類型后面的<>來(lái)表示這個(gè)列表存儲(chǔ)的數(shù)據(jù)的類型
        //方法二
        var intlist1 = new List<string>();
        //方法三
        var intlist2 = new List<int>(){1,2,3};//創(chuàng)建了一個(gè)列表,里面的初始值有三個(gè)分別為 1 2 3

2.遍歷列表

for循環(huán),遍歷所有的索引,通過(guò)索引訪問(wèn)列表中的元素

for(int i=0;i<list.Count;i++){
 //循環(huán)體list[i]
}

foreach遍歷

  foreach(var temp in list){ //依次取得list中的每一個(gè)元素賦值給temp,并執(zhí)行循環(huán)體
   //循環(huán)體 temp
  }

3.列表的常用屬性方法

1,Capacity獲取容量大小

2,Add()方法添加元素

    var scoreList = new List<int>();
    scoreList.Add(12);
    scoreList.Add(34);
    scoreList.Add(56);
    foreach (var temp in scoreList)
    {
        Console.Write(temp + " ");
    }
    Console.ReadKey();

3,Insert()方法插入元素

 var scoreList = new List<int>(){100,200,300,100};
    //遍歷列表
    foreach (var temp in scoreList)
    {
        Console.Write(temp + " ");
    }
    
      Console.WriteLine();
        scoreList.Insert(3, -100);//向指定索引位置插入元素,原來(lái)的元素向后移動(dòng)一位。插入索引不能超出索引范圍,插入索引最大可為scoreList.Count
        foreach (var temp in scoreList)
        {
            Console.Write(temp + " ");
        }
        Console.WriteLine();
        Console.ReadKey();

4,[index]訪問(wèn)元素

5,Count屬性訪問(wèn)元素個(gè)數(shù)

6,RemoveAt()方法移除指定位置的元素

scoreList.RemoveAt(1);//removeAt(index)填入要?jiǎng)h除的索引

7,IndexOf()方法取得一個(gè)元素所在列表中的索引位置

LastIndexOf()上面的方法是從前往后搜索,這個(gè)是從后往前搜索,搜索到滿足條件的就停止,上面的兩個(gè)方法,如果沒(méi)有找到指定元素就返回-1

    var scoreList = new List<int>(){100,200,300,100};
    //遍歷列表
    foreach (var temp in scoreList)
    {
        Console.Write(temp + " ");
    }
    Console.WriteLine();
    Console.WriteLine(scoreList.IndexOf(400));查找不到返回-1
    Console.WriteLine(scoreList.IndexOf(100));
    Console.WriteLine(scoreList.LastIndexOf(100));
    Console.ReadKey();

8,Sort()對(duì)列表中是元素進(jìn)行從小到大排序

    var scoreList = new List<int>(){100,200,300,100};
    //遍歷列表
    foreach (var temp in scoreList)
    {
        Console.Write(temp + " ");
    }
    Console.WriteLine();
    scoreList.Sort();//排序
    foreach (var temp in scoreList)
    {
        Console.Write(temp + " ");
    }
    Console.WriteLine();
    Console.ReadKey();

關(guān)于列表的更多內(nèi)容

1,列表內(nèi)部數(shù)據(jù)是使用數(shù)組進(jìn)行的存儲(chǔ),一個(gè)空的列表內(nèi)部會(huì)有一個(gè)長(zhǎng)度為0的數(shù)組,當(dāng)給列表中添加元素的時(shí)候,列表的容量會(huì)擴(kuò)大為4,如果添加第5個(gè)的時(shí)候,列表的大小會(huì)重新設(shè)置為8,如果添加第9個(gè)元素,列表容量會(huì)擴(kuò)大為16,依次增加。當(dāng)列表的中的容量發(fā)生改變的時(shí)候,它會(huì)創(chuàng)建一個(gè)新的數(shù)組,使用Array.Copy()方法將舊數(shù)組中的元素復(fù)制到新數(shù)組中。為了節(jié)省時(shí)間,如果事先知道要存儲(chǔ)的數(shù)據(jù)的個(gè)數(shù),就可以利用列表的構(gòu)造函數(shù)指定列表的容量大小,比如下面的

List intlist = new List(10);創(chuàng)建了一個(gè)初始容量為10的列表,當(dāng)容量不夠用的時(shí)候,每次都會(huì)按照原來(lái)容量的2倍進(jìn)行擴(kuò)容。

我們可以通過(guò)Capacity屬性獲取和設(shè)置容量

intList.Capacity = 100;

2,注意容量和列表中元素個(gè)數(shù)的區(qū)別,容量是列表中用于存儲(chǔ)數(shù)據(jù)的數(shù)組的長(zhǎng)度通過(guò)Capacity 獲取,列表中的元素是我們添加進(jìn)去需要管理的數(shù)據(jù),通過(guò)Count獲取

例如

        List<int> intList = new List<int>();//創(chuàng)建列表
        for (int i = 0; i < 20; i++)
        {
            Console.WriteLine("列表長(zhǎng)度:" + intList.Capacity + " 元素個(gè)數(shù):" + intList.Count);
            intList.Add(10);
        }
        Console.ReadKey();

補(bǔ)充:C#中List怎么用?List基礎(chǔ)用法匯總

C#中的List怎么樣?List<T>類是ArrayList類的泛型等效類,該類使用大小可按需動(dòng)態(tài)增加的數(shù)組實(shí)現(xiàn)IList<T>泛型接口。

泛型的好處:它為使用c#語(yǔ)言編寫面向?qū)ο蟪绦蛟黾恿藰O大的效力和靈活性。不會(huì)強(qiáng)行對(duì)值類型進(jìn)行裝箱和拆箱,或?qū)σ妙愋瓦M(jìn)行向下強(qiáng)制類型轉(zhuǎn)換,所以性能得到提高。

性能注意事項(xiàng):在決定使用IList<T>還是使用ArrayList類(兩者具有類似的功能)時(shí),記住IList<T>類在大多數(shù)情況下執(zhí)行得更好并且是類型安全的。如果對(duì)IList<T>類的類型T 使用引用類型,則兩個(gè)類的行為是完全相同的。但是,如果對(duì)類型T 使用值類型,則需要考慮實(shí)現(xiàn)和裝箱問(wèn)題。

C# List的基礎(chǔ)常用方法:

一、聲明:

1、List<T> mList = new List<T>();

T為列表中元素類型,現(xiàn)在以string類型作為例子:

List<string> mList = new List<string>();

2、List<T> testList =new List<T> (IEnumerable<T> collection);

以一個(gè)集合作為參數(shù)創(chuàng)建List:

string[] temArr = { "Ha", "Hunter", "Tom", "Lily", "Jay", "Jim", "Kuku", "Locu"};
List<string> testList = new List<string>(temArr);

二、添加元素:

1、List. Add(T item)添加一個(gè)元素

例:

mList.Add("John");

2、List. AddRange(IEnumerable<T> collection)添加一組元素

例:

string[] temArr = {"Ha","Hunter","Tom","Lily","Jay","Jim","Kuku","Locu"};mList.AddRange(temArr);
 

3、Insert(intindex, T item);在index位置添加一個(gè)元素

例:

mList.Insert(1,"Hei");

三、遍歷List中元素:

foreach(TelementinmList)T的類型與mList聲明時(shí)一樣

{
Console.WriteLine(element);
}

例:

foreach(stringsinmList)
{
Console.WriteLine(s);
}

四、刪除元素:

1、List. Remove(T item)刪除一個(gè)值

例:

mList.Remove("Hunter");

2、List. RemoveAt(intindex);刪除下標(biāo)為index的元素

例:

mList.RemoveAt(0);

3、List. RemoveRange(intindex,intcount);

從下標(biāo)index開始,刪除count個(gè)元素

例:

mList.RemoveRange(3, 2);

五、判斷某個(gè)元素是否在該List中:

List. Contains(T item)返回true或false,很實(shí)用

例:

if(mList.Contains("Hunter"))
{
Console.WriteLine("There is Hunter in the list");
}
else
{
mList.Add("Hunter");
Console.WriteLine("Add Hunter successfully.");
}

六、給List里面元素排序:

List. Sort ()默認(rèn)是元素第一個(gè)字母按升序

例:

mList.Sort();

七、給List里面元素順序反轉(zhuǎn):

List. Reverse ()可以不List. Sort ()配合使用,達(dá)到想要的效果

例:

mList.Sort();

八、List清空:

List. Clear ()

例:

mList.Clear();

九、獲得List中元素?cái)?shù)目:

List. Count ()返回int值

例:

in tcount = mList.Count();
Console.WriteLine("The num of elements in the list: "+count);

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。

相關(guān)文章

  • Unity制作自定義字體的兩種方法

    Unity制作自定義字體的兩種方法

    這篇文章主要為大家詳細(xì)介紹了Unity制作自定義字體的兩種方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-12-12
  • C# Guid.NewGuid獲得隨機(jī)數(shù)

    C# Guid.NewGuid獲得隨機(jī)數(shù)

    根據(jù)GUID獲得種子,然后獲得隨機(jī)數(shù),這個(gè)是完全隨機(jī)的
    2013-04-04
  • C#將Json解析成DateTable的方法

    C#將Json解析成DateTable的方法

    這篇文章主要介紹了C#將Json解析成DateTable的方法,涉及相關(guān)格式轉(zhuǎn)換的操作技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-01-01
  • C#用Parallel.Invoke方法盡可能并行執(zhí)行提供的每個(gè)線程

    C#用Parallel.Invoke方法盡可能并行執(zhí)行提供的每個(gè)線程

    本文主要介紹了C#用Parallel.Invoke方法盡可能并行執(zhí)行提供的每個(gè)線程,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-01-01
  • c#中自定義Base16編碼解碼的方法示例

    c#中自定義Base16編碼解碼的方法示例

    這篇文章主要給大家介紹了關(guān)于c#中自定義Base16編碼解碼的相關(guān)資料,并且給大家分享了C#中16進(jìn)制轉(zhuǎn)換為Base64字符串的方法示例,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-11-11
  • Unity使用攝像機(jī)實(shí)現(xiàn)望遠(yuǎn)鏡效果

    Unity使用攝像機(jī)實(shí)現(xiàn)望遠(yuǎn)鏡效果

    這篇文章主要為大家詳細(xì)介紹了Unity攝使用像機(jī)實(shí)現(xiàn)望遠(yuǎn)鏡效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-11-11
  • C#創(chuàng)建安全的字典(Dictionary)存儲(chǔ)結(jié)構(gòu)

    C#創(chuàng)建安全的字典(Dictionary)存儲(chǔ)結(jié)構(gòu)

    本文主要對(duì)存儲(chǔ)結(jié)構(gòu)字典(Dictionary)的一些常用方法進(jìn)行簡(jiǎn)單的說(shuō)明,并闡述了如何創(chuàng)建安全的字典(Dictionary)存儲(chǔ)結(jié)構(gòu)。希望對(duì)大家有所幫助
    2016-12-12
  • C#客戶端HttpClient請(qǐng)求認(rèn)證及數(shù)據(jù)傳輸

    C#客戶端HttpClient請(qǐng)求認(rèn)證及數(shù)據(jù)傳輸

    本文詳細(xì)講解了C#客戶端HttpClient請(qǐng)求認(rèn)證及數(shù)據(jù)傳輸,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-01-01
  • C#程序中創(chuàng)建、復(fù)制、移動(dòng)、刪除文件或文件夾的示例

    C#程序中創(chuàng)建、復(fù)制、移動(dòng)、刪除文件或文件夾的示例

    這篇文章主要介紹了C#程序中創(chuàng)建、復(fù)制、移動(dòng)、刪除文件或文件夾的示例,即對(duì)System.IO命名空間中類的運(yùn)用,需要的朋友可以參考下
    2016-02-02
  • C#多線程處理多個(gè)隊(duì)列數(shù)據(jù)的方法

    C#多線程處理多個(gè)隊(duì)列數(shù)據(jù)的方法

    這篇文章主要介紹了C#多線程處理多個(gè)隊(duì)列數(shù)據(jù)的方法,涉及C#線程與隊(duì)列的相關(guān)操作技巧,需要的朋友可以參考下
    2015-07-07

最新評(píng)論