2011-08-29 99 views
3

以前從未見過類似的東西。我正在做一個非常簡單的DataReader值分配。.NET字符串賦值刪除字符

story.Byline = _r["Byline"].ToString(); 

_r["Byline"].ToString()story.Byline值是分配後的不同。以下是立即窗口的輸出:

story.Byline 
"Associated Press - FIRST LASTAssociated Press - FIRST LAST" 
_r["Byline"].ToString() 
"Associated Press - FIRST LAST<br />Associated Press - FIRST LAST" 

爲什麼<br />被刪除?

+0

'story.Byline'是什麼樣的? – dlev

+0

story.Byline只是一個公共字符串。我複製顯示值的即時窗口的輸出。 – Dzejms

+3

'_r [「Byline」]'是什麼類型?它是一個XML節點嗎?嘗試'_r [「Byline」]。GetType()。Name'。它可能*'.ToString()'刪除一些格式,但如果'_r [「Byline」]'是字符串類型則不會。 – Kobi

回答

0

好了,這是一個有點尷尬:

public string Byline 
{ 
    get { return !_elements.ContainsKey("Byline") ? "" : (string)_elements["Byline"]; } 
    set 
    { 
     string _buf = Functions.StripTags(value); 
     _elements["Byline"] = _buf; 
    } 
} 

不正確的假設FTL。這個問題可以刪除嗎?

+0

編輯原始答案,而不是發佈另一個「答案」。要強制關閉,請將其標記並請主持人關閉。 – abatishchev

0

調用reader["x"].ToString()你實際上調用x'類型可能被覆蓋的方法ToString()

如果您確定它是字符串,請使用reader.GetString(reader.GetOrdinal("x"))