如何从List <string>获取类型双数组?

时间:2016-05-09 08:52:00

标签: c# linq list

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类型的数组?

4 个答案:

答案 0 :(得分:2)

如果TenorRate已经是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.Parsedouble.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();