c# - ReadLines 文本文件以中断模式/错误结尾
问题描述
我正在阅读一个文本文件,其中包含有关文件名、文件路径、文件大小和修改日期的信息。
我能够选择所有必要的数据并将它们成功存储在数据表中,然后我将其存储到我的 SQL Server 中Stored Procedure
。但是,在某个点(或行),我选择了 Filesize-Entry 字符串,(333,461)
而不是333,461
,为了将此值存储到我的 SQL Server 我需要将其转换为浮点数并将此值除以 1000(以千字节为单位的字节)。我当前的(缩短的)代码是:
var Txtfile = File.ReadLines(@"C:\Users\[Path to my File]")
.Where(s => (s.StartsWith("20") && s.Split(new char[] { ' ' }, 5, StringSplitOptions.RemoveEmptyEntries)[2] != "<DIR>")
|| Regex.Match(s, @"^\s.{1}:.*").Success);
该变量Txtfile
现在是一个字符串数组,其中第三个条目是文件大小。然后我编辑这个值:
(float)(Math.Truncate((Convert.ToDouble(Txtfile[2]) / 1000F)))
到目前为止,这一直有效,直到我遇到括号“(somevalue)”中的值。
所以我尝试了Txtfile[2] = Txtfile[2].Replace("(", "").Replace(")", "");
运行代码后,我的应用程序进入中断模式并且不会做任何事情,继续我的应用程序会导致任何结果。有谁知道该怎么做?
抛出异常:托管调试助手 'ContextSwitchDeadlock' 启用它并不能解决问题。
然后我会得到以下异常:
System.Data.SqlClient.SqlException:'字符串或二进制数据将被截断。表值参数“@MyTableType”的数据不符合参数的表类型。SQL Server 错误为:8152,状态:10
这意味着我无法将已编辑(删除'('和')')字符串转换为浮动?
解决方案
推荐阅读
- coq - 归纳命题在 Coq 中是如何工作的?
- rxjs6 - 在 RxJS 版本 6 中可观察到与管道运算符的合并
- excel - Excel堆叠折线图显示空单元格时过渡到0但我不希望它
- angular - 连接为 Meteor 客户端的 Ionic UI 的简单示例?
- reactjs - 使用 Redux 在 componentDidMount 中生成不重复项
- python - Google Tasks API 在 Python 中清除任务列表
- python - 使用 Paraview 的可编程过滤器
- django - Wagtail Form Builder:使自定义表单提交成为另一个模型中的外键并在提交时自动更新
- swift - 为不同的对象实现相同的功能
- android - apksigner 一无所有返回