[英]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.