텍스트 파일에서 각 행을 읽는 클래스의 메서드를 사용하고 있습니다. 텍스트 파일에 헤더 영역에 하나의 날짜 필드가 있습니다.C#의 날짜 필드 업데이트
다른 광고 항목에는 일부 계정 정보가 포함되어 있습니다. 이 코드는 각 광고 항목에서 데이터를 읽습니다. 광고 항목의 계정 코드를 기반으로 날짜를 업데이트하고 싶습니다. 그러나 아래에 표시된 계정 코드 중 하나를 발견 할 때마다 날짜를 한 번만 업데이트하려고합니다. 내 경우에는 코드가 이러한 계정 코드를 발견 할 때마다 날짜를 업데이트하고 있습니다.
는 헤더 날짜/2천12분의 12 04이다 '와 첫 번째 줄 항목에 대한 계정 코드가 다음 날짜에 "2012년 4월 10일"을 업데이트 할 것입니다 "140901"입니다 가정하자.이제 두 번째 줄 항목에 계정 코드 "141202"가 포함 된 경우 날짜가 다시 "04/08/2012"로 업데이트됩니다. 날짜가 "04/10/2012"로 업데이트되고 일부 계정 코드가 발견 되더라도 업데이트가 중지됩니다.
은, 제가 뭘 잘못 알려 주시기 바랍니다.
public void UpdateDate(HeaderRecord _header, AccountSeries accountCode)
{
DateTime date = _header.Date;
bool dateChanged = false;
if (!dateChanged)
{
if (accountCode.Code == "140901" || accountCode.Code == "141202" ||
accountCode.Code == "141207" || accountCode.Code == "141303" ||
accountCode.Code == "141301" || accountCode.Code == "141001" ||
accountCode.Code == "141004" || accountCode.Code == "141003" ||
accountCode.Code == "141005")
{
if (!CalendarValidatorHelper.Helper(date.AddDays(-2.0)))
{
if (!CalendarValidatorHelper.Helper(date.AddDays(-3.0)))
{
date = date.AddDays(-3.0);
_header.Date = date;
dateChanged = true;
}
else if (!CalendarValidatorHelper.Helper(date.AddDays(-4.0)))
{
date = date.AddDays(-4.0);
_header.Date = date;
dateChanged = true;
}
else if (!CalendarValidatorHelper.Helper(date.AddDays(-5.0)))
{
date = date.AddDays(-5.0);
_header.Date = date;
dateChanged = true;
}
}
else
{
date = date.AddDays(-2.0);
_header.Date = date;
dateChanged = true;
}
}
}
}
위의 코드의 약자로
, 변수'dateChanged'는 지역의 하나이며 정말 방법이 종료하기 때문에 사용되지 않습니다. 'if (! dateChanged)'블록은 항상 입력되고, 변수'dateChanged'는 결코 다시 읽혀지지 않습니다. 메서드가 두 번째로 입력되면 물론 새로운 'dateChanged'입니다. –