我构建了一个web应用程序,使用EPPLUS逐行读取上传的excel文件中的字符串值.
刚才我遇到了奇怪的行为,我的string.length大小不同于它的实际值.
代码说清楚:
//pretend str value = "cat"
string str = Worksheets.Cells["A1"].Value.ToString().Trim();
//output will be = "cat"
Debug.Writeline(str);
//it should be = 3 right
//but it's actually = 4
Debug.Writeline(str.Length);
Run Code Online (Sandbox Code Playgroud)
谁能解释为什么会发生这种情况?以及如何解决它,因为我需要将该字符串与我自己的硬编码字符串进行比较
如果长度报告为4,那么你的字符串肯定还有其他内容.您是否逐字节地查看了它?
试试这个:
var cat = Worksheets.Cells["A1"].Value.ToString().Trim();
foreach (var c in cat.ToCharArray())
{
Debug.WriteLine("{0}: '{1}'", (int)c, c);
}
Run Code Online (Sandbox Code Playgroud)
它应该可以帮助您确定字符串中隐藏的其他内容.我怀疑这是EPPlus正在做的"奇怪"(我一直使用它并且从未经历过这样的事情) - 它几乎肯定是你的源数据中的一些奇怪的东西.
| 归档时间: |
|
| 查看次数: |
73 次 |
| 最近记录: |