Shortest way to create a List of a repeated element

前端 未结 3 730
野性不改
野性不改 2021-02-06 21:36

With the String class, you can do:

string text = new string(\'x\', 5);
//text is \"xxxxx\"

What\'s the shortest way to create a List< T > th

相关标签:
3条回答
  • 2021-02-06 21:51

    This seems pretty straight-forward ...

    for( int i = 0; i < n; i++ ) { lst.Add( thingToAdd ); }
    

    :D

    0 讨论(0)
  • 2021-02-06 22:06

    Fastest way I know is:

    int i = 0;
    MyObject obj = new MyObeject();
    List<MyObject> list = new List<MyObject>();
    for(i=0; i< 5; i++)
    {
        list.Add(obj);
    }
    

    which you can make an extention method if you want to use it multiple times.

    public void AddMultiple(this List<T> list, T obj, int n)
    {
        int i;
        for(i=0;i<n;i++)
        {
            list.Add(obj);
        }
    }
    

    Then you can just do:

    List<MyObject> list = new List<MyObject>();
    MyObject obj = new MyObject();
    list.AddMultiple(obj, 5);
    
    0 讨论(0)
  • 2021-02-06 22:11

    Try the following

    var l = Enumerable.Repeat('x',5).ToList();
    
    0 讨论(0)
提交回复
热议问题