【发布时间】:2010-11-10 09:08:15
【问题描述】:
使用 String 类,您可以:
string text = new string('x', 5);
//text is "xxxxx"
创建一个充满n 元素的列表 的最短方法是什么,这些元素都是相同的引用?
【问题讨论】:
使用 String 类,您可以:
string text = new string('x', 5);
//text is "xxxxx"
创建一个充满n 元素的列表 的最短方法是什么,这些元素都是相同的引用?
【问题讨论】:
试试下面的
var l = Enumerable.Repeat('x',5).ToList();
【讨论】:
var l = Enumerable.Repeat(new SomeRefType(),5).ToList(); 将创建 SomeRefType 的单个实例并用 5 个对该实例的引用填充列表。
我知道的最快方法是:
int i = 0;
MyObject obj = new MyObeject();
List<MyObject> list = new List<MyObject>();
for(i=0; i< 5; i++)
{
list.Add(obj);
}
如果你想多次使用,你可以做一个扩展方法。
public void AddMultiple(this List<T> list, T obj, int n)
{
int i;
for(i=0;i<n;i++)
{
list.Add(obj);
}
}
那么你可以这样做:
List<MyObject> list = new List<MyObject>();
MyObject obj = new MyObject();
list.AddMultiple(obj, 5);
【讨论】:
这看起来很简单......
for( int i = 0; i < n; i++ ) { lst.Add( thingToAdd ); }
:D
【讨论】: