有没有一种方法可以以类似于Python的方式在c#中设置列表项数量?

有没有一种方法可以以类似于Python的方式在c#中设置列表项数量?,c#,C#,所以我知道用Python你可以 thislist=[“苹果”、“香蕉”、“樱桃”]+[“塔科”]*2 它将打印出[“苹果”、“香蕉”、“樱桃”、“塔可”、“塔可”]。c#中是否有类似的东西可以使用?我正在写一个列表,列表中将有20-30个相同的项目,我只想为自己节省一些工作,并可能使它看起来干净。试试这个(这只是一个提示) 要创建相同字符串的数组,请执行以下操作: public static string[] MultArray(string str, int quantity) { var

所以我知道用Python你可以
thislist=[“苹果”、“香蕉”、“樱桃”]+[“塔科”]*2
它将打印出
[“苹果”、“香蕉”、“樱桃”、“塔可”、“塔可”]
。c#中是否有类似的东西可以使用?我正在写一个列表,列表中将有20-30个相同的项目,我只想为自己节省一些工作,并可能使它看起来干净。

试试这个(这只是一个提示)

要创建相同字符串的数组,请执行以下操作:

public static string[] MultArray(string str, int quantity)
{
 var z = new string[quantity];
for(i=0, i<quantity, i++)
{
  z[i]=str;
}
return z;
}
我相信如果你有很多数组,你可以创建一个泛型函数


另一种方法是将数组转换为list并使用list函数。最后,您必须将列表转换为数组。但是它要昂贵得多。

与Python不同,但您可以使用:

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

strList.AddRange(Enumerable.Repeat("Hello", 50));
List strList=newlist();
strList.AddRange(Enumerable.Repeat(“Hello”,50));

这将添加50次“Hello”。

是否有规则来确定列表中的哪些项目要重复?这个问题需要详细信息或澄清。我甚至需要像
list Contcat(list strings,int quantity)
这样的签名,因为调整数组的大小可能非常昂贵、非常快。对不起,但每次添加到调整列表大小都要昂贵得多。既然列表使用了引擎盖下的数组,我不知道你为什么这么说。我从未亲自测试过它,但普遍的共识是调整列表的大小更快:不管怎样,我觉得我自己需要仔细看看。我想知道它会产生什么样的结果[‘苹果’、‘香蕉’、‘樱桃’、‘塔可’、‘塔可’]?
public static string[] ConcatArrays(string[] x, string[] y)
{
var z = new string[x.Length +  y.Length];
x.CopyTo(z, 0);
y.CopyTo(z, x.Length);
return z;
}
List<string> strList = new List<string>();

strList.AddRange(Enumerable.Repeat("Hello", 50));