2017-09-22 7 views
-1

내 코드는 3 개의 라인 중 가장 높은 값을 취하여 "라인"속성에 추가해야합니다. 그러나 그것은 내가 예상했던대로 행동하지 않습니다. 나는 잘못된 값을 추가한다고 가정하는 모든 3 줄에서 오류가 발생하여 줄 병합과 텍스트 겹침이 발생합니다.3 개의 값 중에서 가장 높은 값을 결정하고 그 값을 더한다

item_title_lines 값 비고 라인보다 높은 경우 추가되어야하며

item_remark_lines 1 이상의 값이 비 라인보다 높은 경우에 추가되어야 그리고 두 값이 동일한 경우는 1 이상, 또는.

unit_lines 2. 이것의 최대 값 만 두 값이 모두 1

If item_title_lines > item_remark_lines And item_title_lines > 1 Then line = line + item_title_lines 
If item_remark_lines > item_title_lines And item_remark_lines > 1 Then line = line + item_remark_lines 
If item_remark_lines = item_title_lines Then line = line + item_remark_lines 
     End If 
     End If 
If item_remark_lines = 1 And item_title_lines = 1 Then 
     line = line + unit_lines 
     End If 
경우 첨가했다

I 해봤 이것의 다른 변형은 동일한 결과를 달성

If Math.Max(item_title_lines, item_remark_lines) >= unit_lines Then 
       line = line + Math.Max(item_title_lines, item_remark_lines) 'Add highest of those values to line count 
       Else 
       line = line + unit_lines 'Otherwise, add unit lines to line count 
       End If 

인 . 3 가지 값을 비교하고 가장 높은 값을 추가하는보다 우아한 방법이 있습니까?

line += {item_title_lines, item_remark_lines, unit_lines}.Max() 
+1

그냥 배열로 모든 값을 넣고 그 위에'Max' 전화 : – jmcilhinney

답변

1

나는이 일이 좋아.
+0

이것은 C#, vb.net이 아닌 – jeroenh

+0

vb.net에서 문제없이 작동합니다. 적어도 vs2017에서는 –

+0

@jeroenh가 올바르지 않습니다. VB – Jaxi