검색했지만 내 대답을 찾지 못했습니다. 면책 조항 : 저는 C#의 새로운 것입니다.하지만 기존의 로그 파일에서 읽기, 탭으로 구문 분석, 결과를 특정 상태로 처리 (전자 메일 프로세스), 부서별로 그룹화 ie Investment Bank)을 입력 한 다음 부문 별 전자 메일 전환 수에 대한 통계를 계산하고 새 로그 파일에 인쇄하십시오.그룹 스플릿 후 값별 결과
질문하기 전에 프로그램 자체에 약간의 배경 지식을 제공하고 싶습니다. 나는 현재 부서별로 그룹화하고자하는 시점에 있으며이를 수행하는 방법을 파악할 수 없습니다.
편집 : 원래 데이터 :
static void Main()
{
{
List<string> list = new List<string>();
using (StreamReader reader = new StreamReader(Settings.LogPath + "2012-3-10.log"))
{
string line;
int i = 0;
while ((line = reader.ReadLine()) != null)
{
list.Add(line);
i++;
string[] split = line.Split('\t');
string processing = split[0];
if(processing.StartsWith("Process"))
{
string division = split[1];
int zipFiles;
int.TryParse(split[4], out zipFiles);
int conversions;
int.TryParse(split[5], out conversions);
int returnedFiles;
int.TryParse(split[5], out returnedFiles);
int totalEmails;
int.TryParse(split[5], out totalEmails);
그래서 나는이 점에 프로그램이이 뭔가를 뱉어 : 여기
Status Division Time Run Time Zip Files Conversions Returned Files Total E-Mails
Process E-mail Investment Bank 12:00 AM 42.8596599 1 0 1 1
End Processing 12:05 AM 44.0945784 0 0 0 0
Process E-mail Investment Bank 12:10 AM 42.7193253 2 1 0 1
Process E-mail Treasury 12:15 AM 4.6563394 1 0 2 2
내가 지금까지 가지고있는 코드입니다 콘솔은 다음과 같습니다 :
"Investment Bank", "Treasury"등의 그룹입니다. 그러면 총계를 계산할 수 있습니다.
마지막 로그 파일은 다음과 같습니다
Division Zip Files Conversions Returned Files Total E-mails
Investment Bank 3 1 1 2
Treasury 1 0 2 2
원래 데이터는 무엇입니까? –
왜 단순히 재무 리더를 스위치 카드로 사용하여 기준 (Treasury vs. Investment Bank 등을 지정하든)에 따라 데이터를 분리하지 마십시오. 개인적으로 아마 각 부분을 자신의 객체로 캡쳐하고 그것을 참조 할 부모 객체로 감쌀 것입니다. IE의 클래스 사업부는리스트와 List –
CBRRacer
@ Johnny_D를 가지고 있습니다 - 원래의 데이터 세트를 추가했습니다. 이것은 로그 파일의 아주 작은 뷰일뿐입니다. 더 많은 부서들이 있습니다. –