C# 将空值传递给浮点数据类型以将其添加到列表中

C# 将空值传递给浮点数据类型以将其添加到列表中,c#,list,xml-parsing,null,C#,List,Xml Parsing,Null,我试图将null值传递给float数据类型,如下所示 float? period_final_value = null; 并从解析xml字符串中获取period\u final\u value中的值,如下所示 var action = xmlAttributeCollection_for_period["value"]; xmlActionsone[j] = action.Value; period_final_value = float.Parse(action.Value); ser

我试图将null值传递给float数据类型,如下所示

float? period_final_value = null; 
并从解析xml字符串中获取period\u final\u value中的值,如下所示

var action = xmlAttributeCollection_for_period["value"];
xmlActionsone[j] = action.Value;
period_final_value = float.Parse(action.Value); 
serie_line.data.Add(period_final_value);
var serie_line = new { name = series_name, data = new List<float?>() };
然后将获得的值添加到列表中,如下所示

var action = xmlAttributeCollection_for_period["value"];
xmlActionsone[j] = action.Value;
period_final_value = float.Parse(action.Value); 
serie_line.data.Add(period_final_value);
var serie_line = new { name = series_name, data = new List<float?>() };
定义我的列表如下

var action = xmlAttributeCollection_for_period["value"];
xmlActionsone[j] = action.Value;
period_final_value = float.Parse(action.Value); 
serie_line.data.Add(period_final_value);
var serie_line = new { name = series_name, data = new List<float?>() };
var serie_line=new{name=series_name,data=new List()};
现在,我的问题是,当我试图传递值时,它应该被添加到列表中,当识别不到任何值时,它应该添加null,并在列表中的空值处添加值,但我不知道我无法使其正常工作…我的web服务在它计数器任何空值时崩溃…任何帮助都将不胜感激

请注意…var serie_行..我将把它序列化为JSON格式,以便我可以使用这些值来绘制图表。

在这一行

float? period_final_value = float.Parse(action.Value); 
您正在失去可为空的浮点值。当解析失败时(没有值或值不是有效的浮点),它抛出而不是返回null
period\u final\u值
永远不会将
null
作为值


请参阅gleng的答案,以便能够将null设置为
period\u final\u value

听起来您可能在寻找
TryParse
而不是
Parse

当您调用
period\u final\u value=float.Parse(action.value)时
Parse
将字符串解析为
浮点值
或引发异常。它永远不会返回
null

要获得所需的行为,请尝试以下操作:

float temp_value = 0;
float? period_final_value = null;
if (float.TryParse(action.Value, out temp_value)) {
    period_final_value = temp_value;
}

serie_line.data.Add(period_final_value);

如果
action.Value
是数字的字符串表示形式,则
period\u final\u Value
将是该数字。否则,它将为
null
。然后你可以将它添加到你的
float?
值列表中。

你能重新表述一下那一段吗?这很难理解。