繁体   English   中英

将字符串数组转换为其他类型

[英]Convert string array to another type

我正在尝试转换由7个值组成的以逗号分隔的字符串:

2014-21-2,1207.81,1209.87,1202.84,1203.79,1862300,1203.79

到另一个模型是:

return lines[1].Split(',').Select(i => new StockModel
{
    StockDate = DateTime.ParseExact(i.ToString(), "yyyy-MM-dd", null),
    StockOpen = float.Parse(i.ToString()),
    StockHigh = float.Parse(i.ToString()),
    StockLow = float.Parse(i.ToString()),
    StockClose = float.Parse(i.ToString()),
    StockVolume = Convert.ToInt32(i.ToString()),
    StockAdjustedClose = float.Parse(i.ToString()),
    StockSymbol = stockSymbol

}).SingleOrDefault();

但是,我得到如下错误: Additional information: Input string was not in a correct format. http://s17.postimg.org/ro4k3tzct/Screenshot_1.png

如果我像这样手动进行操作: DateTime date = DateTime.Parse(lines[1].Split(',')[0]) ,它可以正常工作。

无论我要为新模型投入多少价值,我都会遇到诸如此类的错误。

好,我明白了。 您不应在此处使用“ Select 请尝试以下操作:

var i = lines[1].Split(',');

return new StockModel()
{
    StockDate = DateTime.ParseExact(i[0].ToString(), "yyyy-MM-dd", null),
    StockOpen = float.Parse(i[1].ToString()),
    StockHigh = float.Parse(i[2].ToString()),
    StockLow = float.Parse(i[3].ToString()),
    StockClose = float.Parse(i[4].ToString()),
    StockVolume = Convert.ToInt32(i[5].ToString()),
    StockAdjustedClose = float.Parse(i[6].ToString()),
    StockSymbol = stockSymbol
};

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM