从Excel Interop获取它们时,比较C#中的两个字符串

时间:2011-11-27 20:57:35

标签: c# visual-studio-2008 excel-interop

我正在尝试比较C#中的两个字符串,因为我使用Interop接口从Excel中提取它们。我的代码如下:

public Boolean isSameEdge(Edge e)
    {
        Boolean result = false;
        String e1 = e.getNode1();
        String e2 = e.getNode2();
        int s1 = String.Compare(e1, Node1);
        int s2 = String.Compare(e2, Node2);

        if (s2 == 0 && s1 == 0)
            result = true;

        return result;
    }

我正在调试代码,我发现e1和Node1是完全相同的字符串,因为它们应该是。然而,String.Compare为s1返回1,为s2返回-1。救命啊!

1 个答案:

答案 0 :(得分:4)

假设String.Compare()没有错误是非常安全的。这些字符串可能只是看起来相同。注意像(char)0这样的不可打印的字符。使用String.ToCharArray()进行诊断。