所以我有一个制表符分隔文件,我需要通过sqlbulkinsert插入。我已经编写了所有代码并正常工作,但是当我达到一个没有输入值的整数或小数的值时,我的代码断开,因为赋值不正确(null到十进制值)...我怎么能处理这个?
dataRow["variableName"] = splitString[IndexValue]; // decimal coming in blank because this column doesn't have a decimal assigned (and not required)
谢谢!
编辑:我确实知道我可以在赋值之前测试null的值,但是如果有其他方法可以使用if检查,那么我更愿意使用if检查。
使用三元运算符结束。
dataRow["variableName"] = (String.IsNullOrEmpty(splitString[IndexValue])) ? Convert.ToInt32(splitString) : 0;
答案 0 :(得分:1)
在作业前做一个简单的检查:
if (varT != null)
//perform assignment
else
将varT更改为您要检查的值的名称。 你还需要告诉我们什么是null,什么不是很难说你的问题的内容。 splitString [IndexValue]是null还是datarow?
根据您的评论,您可以使用条件运算符:
return varT != null ? varT : 1.0;
或者正如其他人提到的那样,您可以使用??
运算符http://msdn.microsoft.com/en-us/library/ms173224.aspx
答案 1 :(得分:0)
您可以使用以下代码避免此问题:
if (splitString[IndexValue] != null)
dataRow["variableName"] = splitString[IndexValue];