2011-08-29 5 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"))

관련 문제