溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

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

發(fā)布時間:2021-07-12 15:04:05 來源:億速云 閱讀:151 作者:chen 欄目:編程語言

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

 

咨詢區(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í)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

net
AI