我有一个字段作为字符串存储在数据库中。它实际上是一个以逗号分隔的数字字符串,我将其转换为long列表。执行转换的代码行看起来像这样:
TheListOfLongs = (from string s in StringFromDB.Split(',')
select Convert.ToInt64(s)).ToList<long>();
创建数据库存储字符串的代码如下所示:
return String.Join(",", TheListOfLongs.Select(x=> x.ToString()).ToArray());
这很好但是你可以看到,如果由于某种原因字符串出现问题,第一行代码中的代码会在Convert.ToInt64(s)
上中断。
现在我知道我可以围绕try
语句包装所有这些但我的问题是:可以在数据库中存储和检索字符串会破坏字符串(在这种情况下,我肯定需要try
声明)或者这是一个万亿分之一的事件吗?
答案 0 :(得分:1)
从数据库中选择不应该损坏您的字符串。
如果在传输过程中丢弃连接或类似的连接,则抛出异常。
答案 1 :(得分:1)
我不担心损坏的数据本身。但是,您肯定需要处理更常见的情况,即您无法解析应该是数字数据的内容。
即使在最受控制的情况下,也可以通过良好的编程习惯为无法处理数据的时间提供条件。这对您的应用程序意味着什么,您需要决定。使用try..catch
包装语句将阻止应用程序阻塞,但如果解析后的列表在以后很重要,则可能不合适。