나는 다음과 같은 코드를 가지고 :이 두 줄을 어떻게 하나의 문장으로 리펙토링 할 수 있습니까?
// TryGetAttributeValue returns string value or null if attribute not found
var attribute = element.TryGetAttributeValue("bgimage");
// Convert attribute to int if not null
if (attribute != null) BgImage = convert.ToInt32(attribute);
내가 좋아하지 않는 것은 내가, 임시 변수,
attribute
을 만들 위하여는
null
이다 아닌지 테스트 한 다음에 값을 할당해야한다는 것입니다
BgImage
변수 nullable int입니다.
한 줄로 모두 쓸 수있는 방법을 찾아 낼 수 있었으면 좋겠어. 난 삼항 문을 사용했지만, 아무데도 없어 :
if (element.TryGetAttributeValue("bgimage") != null) ? BgImage = //Convert result to int : else null;
가 현실적으로 코드 내 원래 두 줄이 일을하고 있어요. 나는 그것을 한 줄로 줄이려고했다. 그러나, 누군가가 내가 성취하려는 것을 어떻게하는지 안다면, 어떻게 배우는 지 알고 싶습니다.
당신이 XML과 같은 구문 분석하고 있습니까? –
'TryGetAttributeValueAsInt' 확장? –
@ SergeyBerezovskiy 예, 있습니다. BgImage 속성은 null 또는 0을 포함하는 int 중 하나 일 수 있습니다. – Kevin