var array1 = (from ir in PMEC.InterestRateSet
select new List<string> { ir.Tenor.ToString() }).ToList();
var array2 = (from ir in PMEC.InterestRateSet
select new List<string> { ir.Rate.ToString() }).ToList();
array1.AddRange(array2);
var array = array1.ToArray();
例如,array1
有六个数字,array2
有六个数字,然后合并后array
有12个数字。
那么我该怎么做以获得double类型的数组?
答案 0 :(得分:2)
如果Tenor
和Rate
已经是double
属性,则不应将其转换为字符串。
List<double> tenorList = PMEC.InterestRateSet
.Select(irs => irs.Tenor)
.ToList();
List<double> rateList = PMEC.InterestRateSet
.Select(irs => irs.Rate)
.ToList();
List<double> tenorRateList = tenorList.Concat(rateList).ToList();
// or...
tenorList.AddRange(rateList); // modifies first list
但这似乎毫无意义,即使InterestRateSet
中只有6个对象,你的样本也会得到12个双打。更好的是一次选择两个属性:
var tenorRateList = PMEC.InterestRateSet
.Select(irs => new { Tenor = irs.Tenor, Rate =irs.Rate} )
.ToList(); // list of anonymous type
一般情况下,如果您有一个字符串,并且希望将其转换为双倍使用double.Parse
或double.TryParse
。
答案 1 :(得分:0)
如果我理解正确,你想要将字符串列表解析为双打列表......
var result = array1.Select(i => double.Parse(i)).ToList();
答案 2 :(得分:0)
List<double> ListOfDouble =(from str in ListOfString let d=double.Parse(str) select d).ToList();
答案 3 :(得分:0)
它应该是这样的:
var result = array1.Select(i => i==null?0;double.Parse(i)).ToList();