Nha_Phuong
Mr & Ms Pac-Man
- 21/2/07
- 151
- 0
Chào các bạn,
Mong các bạn cố vấn giùm mình về lập trình C Sharp.
Mình hiện đang có 2 files:
1_ Master file - chứa toàn bộ thông tin của khách hàng
2_ Weekly file - chứa những khách hàng trong tuần
Nếu những khách hàng trong tuần đã tồn tại trong Master thì sẽ lưu vào 1 file khác, còn không thì lưu vào danh bạ mới. Và sau đây là dòng lệnh mình đang làm nhưng có chút rắc rối.
Ví dụ trong file mình có:
File 1 - Master:
kh1 Nguyen Van A
kh2 Nguyen Thi B
kh3 Tran Van A
kh4 Tran Van B
File 2 - Weekly:
kh1 Nguyen Van A
kh2 Nguyen Tran
kh3 Nguyen Nguyen
kh4 Tran Thi D
Thì nên output ra:
File 3 - Exist:
kh1 Nguyen Van A
File 4 - Unknown:
kh2 Nguyen Tran
kh3 Nguyen Nguyen
kh4 Tran Thi D
Và sau đây là code của mình:
string file1 = @"C:\Users\Weekly.csv";
string file2 = @"C:\Users\Master.csv";
var reader = new StreamReader(File.OpenRead(file1));
// File 1 Reader
List<Customer> WeeklyList= new List<Customer>();
while (!reader.EndOfStream)
{
var line = reader.ReadLine();
var values = line.Split(',');
Customer c = new Customer() { FirstName = values[0], LastName = values[1] };
customerList.Add(c);
}
//Console.ReadLine();
// File 2 Reader
// Read File variable
var readerFile2 = new StreamReader(File.OpenRead(file2));
List<Customer> MasterList = new List<Customer>();
while (!readerFile2.EndOfStream)
{
var line2 = readerFile2.ReadLine();
var values = line2.Split(',');
Customer cc = new Customer() { FirstName = values[0], LastName = values[1]};
MasterList.Add(cc);
}
// Export file
StringBuilder export = new StringBuilder();
StringBuilder sb = new StringBuilder();
string file3 = @"C:\Users\Exist.csv";
string file4 = @"C:\Users\Unknown.csv";
foreach (var testFile2 in Master)
{
// Find values between Master and Weekly
foreach (var testFile1 in Weekly)
{
if (testFile1.FirstName + testFile1.LastName == testFile2.FirstName + testFile2.LastName)
{
export.AppendLine();
File.WriteAllText(file3, export.ToString());
}
else
{
sb.AppendLine();
File.WriteAllText(file4, sb.ToString());
}
}
}
Mong các bạn cố vấn cho mình, thanks nhiều.
Mong các bạn cố vấn giùm mình về lập trình C Sharp.
Mình hiện đang có 2 files:
1_ Master file - chứa toàn bộ thông tin của khách hàng
2_ Weekly file - chứa những khách hàng trong tuần
Nếu những khách hàng trong tuần đã tồn tại trong Master thì sẽ lưu vào 1 file khác, còn không thì lưu vào danh bạ mới. Và sau đây là dòng lệnh mình đang làm nhưng có chút rắc rối.
Ví dụ trong file mình có:
File 1 - Master:
kh1 Nguyen Van A
kh2 Nguyen Thi B
kh3 Tran Van A
kh4 Tran Van B
File 2 - Weekly:
kh1 Nguyen Van A
kh2 Nguyen Tran
kh3 Nguyen Nguyen
kh4 Tran Thi D
Thì nên output ra:
File 3 - Exist:
kh1 Nguyen Van A
File 4 - Unknown:
kh2 Nguyen Tran
kh3 Nguyen Nguyen
kh4 Tran Thi D
Và sau đây là code của mình:
string file1 = @"C:\Users\Weekly.csv";
string file2 = @"C:\Users\Master.csv";
var reader = new StreamReader(File.OpenRead(file1));
// File 1 Reader
List<Customer> WeeklyList= new List<Customer>();
while (!reader.EndOfStream)
{
var line = reader.ReadLine();
var values = line.Split(',');
Customer c = new Customer() { FirstName = values[0], LastName = values[1] };
customerList.Add(c);
}
//Console.ReadLine();
// File 2 Reader
// Read File variable
var readerFile2 = new StreamReader(File.OpenRead(file2));
List<Customer> MasterList = new List<Customer>();
while (!readerFile2.EndOfStream)
{
var line2 = readerFile2.ReadLine();
var values = line2.Split(',');
Customer cc = new Customer() { FirstName = values[0], LastName = values[1]};
MasterList.Add(cc);
}
// Export file
StringBuilder export = new StringBuilder();
StringBuilder sb = new StringBuilder();
string file3 = @"C:\Users\Exist.csv";
string file4 = @"C:\Users\Unknown.csv";
foreach (var testFile2 in Master)
{
// Find values between Master and Weekly
foreach (var testFile1 in Weekly)
{
if (testFile1.FirstName + testFile1.LastName == testFile2.FirstName + testFile2.LastName)
{
export.AppendLine();
File.WriteAllText(file3, export.ToString());
}
else
{
sb.AppendLine();
File.WriteAllText(file4, sb.ToString());
}
}
}
Mong các bạn cố vấn cho mình, thanks nhiều.