..이 VB.net 코드를 최적화 할 수 있습니까? 더 나은 구현이 가능합니까? 날이 코드를 최적화 할 수 있도록하십시오
Public Sub createNextMonthSheets(ByRef io As InputOutput)
Dim WB As Excel.Workbook = getWorkBook(io.newClientReportHandle)
For Each name In clientSheetNames.FindAll(AddressOf findCurrMonthSheetNames)
For Each sheet In WB.Sheets
If (sheet.Name = name) Then
sheet.Name = name.Replace(currMonth, nextMonth)
sheet.Copy(After:=WB.Sheets(1))
End If
Next sheet
Next name
WB.Close()
End Sub
Private Function findCurrMonthSheetNames(ByVal sheetName As String) As Boolean
If sheetName.Contains(" (" + currMonth + ")") Then
Return True
Else
Return False
End If
End Function
나는 vb.net에 새로운 오전이 언어의 힘을 모른다.
실적을 최적화 할 수 있는지 확인하십시오.
동일한 작업을 수행하는 적은 수의 코드 줄에서 이것을 최적화 할 수 있는지 확인하십시오.
더 읽기 쉽게 만들 수있는 언어의 새로운면을 소개 할 수 있습니다!
findcurrmonthsheetnames 함수를 어떤 방식으로 오버로드하여 WB.sheets을 가져올 수 있습니까?
이것은 매우 간단합니다. 메소드 이름에 케이스를 고정하고'WB' 변수를 낮추는 것 외에도 코드는 의미가 있으며 이미 꽤 작습니다. 성능 문제가있는 경우 통합 문서의 크기 나 복잡성 또는 Interop 코드 인 경우 Interop 서비스의 오버 헤드가 발생할 수 있습니다. –
linq을 사용하여 더 좋은 방법으로 원하는 시트를 얻을 수 있습니까? –
LINQ는 마법 해결 - 모든 기능을 제공하지 않습니다. 그것의 용도가 있지만 이것은 아마도 어떤 이익을 제공 할 수있는 것이 아닙니다. 당신이 가지고있는 것은 간단하고 논리적입니다. LINQ를 사용하기 위해 LINQ를 사용하는 것은 좋은 접근법이 아닙니다. –