Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/300.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# excel中长度大小不同于实际值的字符串_C#_Epplus - Fatal编程技术网

C# excel中长度大小不同于实际值的字符串

C# excel中长度大小不同于实际值的字符串,c#,epplus,C#,Epplus,我构建了一个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

我构建了一个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);
有人能解释为什么会发生这种情况吗?
以及如何解决它,因为我需要将该字符串与我自己的硬编码字符串进行比较

如果长度报告为4,那么您的字符串中肯定还有其他内容。你一个字节一个字节地看了吗

试试这个:

var cat = Worksheets.Cells["A1"].Value.ToString().Trim();
foreach (var c in cat.ToCharArray())
{
    Debug.WriteLine("{0}: '{1}'", (int)c, c);
}

它应该可以帮助您确定字符串中隐藏的其他内容。我怀疑这是EPPlus正在做的“奇怪”的事情(我一直在使用它,从来没有经历过类似的事情)-这几乎肯定是源数据中的奇怪之处。

如果长度报告为4,那么字符串中肯定还有其他东西。你一个字节一个字节地看了吗

试试这个:

var cat = Worksheets.Cells["A1"].Value.ToString().Trim();
foreach (var c in cat.ToCharArray())
{
    Debug.WriteLine("{0}: '{1}'", (int)c, c);
}

它应该可以帮助您确定字符串中隐藏的其他内容。我怀疑这是EPPlus正在做的“奇怪”的事情(我一直在使用它,从来没有经历过类似的事情)-这几乎肯定是源数据中奇怪的事情。

是否结尾有
\r
\n
字符?@AlexArt。我如何检查我的字符串是否有
\r
或“\n”?我已经在使用
trim()
,可能是结尾有
\r
\n
字符吗?@AlexArt。我如何检查我的字符串是否有
\r
或“\n”?我已经在使用
trim()
谢谢您,先生!,我应该早点问的,我只是浪费了几个小时。谢谢你,先生!,我应该早点问的,我只是浪费了几个小时。