C# 使用硬编码和生成的值混合初始化数组
此代码使用两个硬编码值初始化数组,效果非常好:C# 使用硬编码和生成的值混合初始化数组,c#,collection-initializer,C#,Collection Initializer,此代码使用两个硬编码值初始化数组,效果非常好: var db = new GoogleGraph { cols = new ColInfo[] { new ColInfo { id = "", label = "Date", pattern ="", type = "string" }, new ColInfo { id = "", label = "Attendees", pattern ="", type = "number" }
var db = new GoogleGraph {
cols = new ColInfo[] {
new ColInfo { id = "", label = "Date", pattern ="", type = "string" },
new ColInfo { id = "", label = "Attendees", pattern ="", type = "number" }
}.ToList(),
rows = new List<DataPointSet>()
};
db.cols.AddRange(listOfValues.Select(p => new ColInfo { id = "", label = p, type = "number" }));
var db=new GoogleGraph{
cols=新的共信息[]{
新的ColInfo{id=”“,label=“Date”,pattern=“”,type=“string”},
新的ColInfo{id=”“,label=“与会者”,pattern=“”,type=“number”}
}.ToList(),
行=新列表()
};
db.cols.AddRange(listOfValues.Select(p=>newcolinfo{id=”“,label=p,type=“number”}));
试图添加一些动态生成的值的代码无效:
var db = new GoogleGraph {
cols = new ColInfo[] {
new ColInfo { id = "", label = "Date", pattern ="", type = "string" },
new ColInfo { id = "", label = "Attendees", pattern ="", type = "number" },
listOfValues.Select(p => new ColInfo { id = "", label = p, type = "number" })
}.ToList(),
rows = new List<DataPointSet>()
};
var db=new GoogleGraph{
cols=新的共信息[]{
新的ColInfo{id=”“,label=“Date”,pattern=“”,type=“string”},
新的ColInfo{id=”“,label=“Attendes”,pattern=“”,type=“number”},
选择(p=>newcolinfo{id=”“,label=p,type=“number”})
}.ToList(),
行=新列表()
};
如何正确实现上述代码段?您不能像这样将
IEnumerable
传递给t[]
的初始值设定项
您可以通过将硬编码对象放入它们自己的集合中,然后连接动态对象来执行您想要的操作:
var db = new GoogleGraph {
cols =
new ColInfo[] {
new ColInfo { id = "", label = "Date", pattern ="", type = "string" },
new ColInfo { id = "", label = "Attendees", pattern ="", type = "number" }
}
.Concat(listOfValues.Select(p =>
new ColInfo { id = "", label = p, type = "number" }))
.ToList(),
rows = new List<DataPointSet>()
};
var db=new GoogleGraph{
cols=
新的共信息[]{
新的ColInfo{id=”“,label=“Date”,pattern=“”,type=“string”},
新的ColInfo{id=”“,label=“与会者”,pattern=“”,type=“number”}
}
.Concat(listOfValues.Select(p=>
新的ColInfo{id=,label=p,type=“number”})
.ToList(),
行=新列表()
};
当您试图编译它时,是否有任何错误?不清楚您在问什么。您的问题有点不清楚,但我想我明白了。我已经编辑了你的问题;如果我误解了你的意图,请告诉我。