NET如何動態(tài)的將匿名類型添加到List?

本篇內(nèi)容主要講解“NET如何動態(tài)的將 匿名類型 添加到 List ?”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“NET如何動態(tài)的將 匿名類型 添加到 List ?”吧!

創(chuàng)新互聯(lián)主要從事做網(wǎng)站、網(wǎng)站設(shè)計、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)聶拉木,10多年網(wǎng)站建設(shè)經(jīng)驗(yàn),價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):18980820575

 

咨詢區(qū)

  • DHornpout

我可以像下面這樣創(chuàng)建一個匿名類型。


var o = new { Id = 1, Name = "Foo" };

 

是否有辦法可以將上面的匿名類型添加到 List 中 ?類似如下的偽代碼:


var o = new { Id = 1, Name = "Foo" };
var o1 = new { Id = 2, Name = "Bar" };

List<var> list = new List<var>();
list.Add(o);
list.Add(o1);

 

或者下面這樣:


List<var> list = new List<var>();

while (....)
{
    ....
    list.Add(new {Id = x, Name = y});
    ....
}

   

回答區(qū)

  • Jermismo

你可以這樣試一試。


var o = new { Id = 1, Name = "Foo" };
var o1 = new { Id = 2, Name = "Bar" };

var array = new[] { o, o1 };

var list = array.ToList();

list.Add(new { Id = 3, Name = "Yeah" });

 

????,上面的代碼對我來說有一些不美觀,但沒毛病。


  • Bassem

如果你使用的是 C#7 以上,建議用 ValueTuple 來替代匿名類型。


        static void Main(string[] args)
        {
            var list = new List<(int Id, string Name)>();

            list.Add((Id: 1, Name: "Foo"));
            list.Add((Id: 2, Name: "Bar"));
        }

 
  • Tom Dee

你可以創(chuàng)建一個 dynamic 類型的 List,如下代碼所示:


List<dynamic> anons=new List<dynamic>();

foreach (Model model in models)
{
   var anon= new
   {
      Id = model.Id,
      Name=model.Name
   };

   anons.Add(anon);
}

   

點(diǎn)評區(qū)

從幾位大佬的回答中可以總結(jié)出:

  • 使用dymanic。

  • 先設(shè)法初始化出帶有匿名的 List,再圖后續(xù)插入。

  • 使用更加語義化的 ValueTuple

到此,相信大家對“NET如何動態(tài)的將 匿名類型 添加到 List ?”有了更深的了解,不妨來實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

文章題目:NET如何動態(tài)的將匿名類型添加到List?
文章轉(zhuǎn)載:http://muchs.cn/article8/isjpop.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站、面包屑導(dǎo)航、網(wǎng)站建設(shè)、域名注冊、網(wǎng)站制作、企業(yè)網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)