-2

我有一个字段作为字符串存储在数据库中。它实际上是一个逗号分隔的数字字符串,我将其转换为一个长整数列表。进行转换的代码行看起来有点像这样:

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语句)或者这是一个万亿奇数类型的事件?

4

2 回答 2

1

我不会担心损坏的数据本身。但是,您肯定需要处理更一般的情况,即您无法解析应该是数字数据的内容。

即使在最受控制的情况下,为您无法按预期处理数据提供条件也是一种良好的编程习惯。这对您的应用程序意味着什么是您需要决定的。用 a 包裹语句try..catch将防止您的应用程序阻塞,但如果解析的列表稍后很关键,则可能不合适。

于 2013-02-12T19:13:24.820 回答
1

从数据库中选择不应损坏您的字符串。

如果连接在传输过程中断开或类似情况,则会引发异常。

于 2013-02-12T19:10:48.533 回答