2013-04-08 81 views
0

發生的事情讓人困惑。 我使用這些如何比較兩個字符串與unicode有一些不同?

(cert.SubjectName.Name.ToLower()) == (subjectName.ToLower() 

比較兩個字符串。 雖然我總是得到錯誤,即使我可以看到這些字符串具有相同的值。 後來我弄清楚,如果我在文本visualizar打開值,選擇顯示的Unicode控制符 我找到第二個值具有| *開頭。 enter image description here

爲什麼這些事? 我應該如何讓這兩個字符串返回給我?

+2

相反調整的比較,你應該找出原因'cert.SubjectName.Name'的開頭有一個奇怪的字符。 – Heinzi 2013-04-08 09:16:21

+0

看起來它可能是某種不可打印的字符,如換行或換頁。它的Unicode代碼點是什麼? – Thomas 2013-04-08 09:20:39

+0

HI cert.SubjectName.Name返回正確的值,它是subjectName。我在web.config文件中得到這些值:WebConfigurationManager.AppSettings [Common.SigningCertificateName] 我用ConfigurationManager.AppSettings [Common.SigningCertificateName]沒有幸運 – EthenHY 2013-04-08 09:26:55

回答

0

可能是你的app.config包含怪異的性格,你可能無法在你的定期編輯器中看到:

<appSettings> 
    <add key="SigningCertificateName" value="<WEIRD-CHAR>CN=STSTestCert" /> 
</appSettings> 

嘗試刪除整個價值("CN=STSTestCert"),並重新鍵入它。

相關問題