rat*_*tna 6 c# linq text file delimited
开始处理文本文件读取 - 由管道下划线和管道分隔 - | _ | 尝试了以下代码.但是没有产生预期的结果.拆分条件应该修改,但如何.请指教.谢谢大家 - 现在就行了.
class Program
{
static void Main(string[] args)
{
string filePath = @"J:\dot\emp.dat";
var query =
from line in File.ReadLines(filePath)
let empRecord = line.Split(new string[] {"|_|"},StringSplitOptions.None)
select new datFile()
{
name = empRecord[0],
employeeid = empRecord[1],
income = empRecord[2],
expenses = empRecord[3]
};
foreach (var item in query)
{
Console.WriteLine(item.name, item.employeeid,
item.income, item.expenses);
}
Console.ReadLine();
}
public class datFile
{
public string name { get; set; }
public string employeeid { get; set; }
public string income { get; set; }
public string expenses { get; set; }
}
}
Run Code Online (Sandbox Code Playgroud)
文件内容:
name|_|employeeid|_|income|_|expenses
emp1|_|201501|_|100000|_|50000
emp2|_|20000|_|90000|_|30000
emp3|_|34234|_|100000|_|23000
Run Code Online (Sandbox Code Playgroud)
输出:
name
emp1
emp3
emp3
-----
Run Code Online (Sandbox Code Playgroud)
Jon*_*eet 15
问题实际上就在这里:
Console.WriteLine(item.name, item.employeeid, item.income, item.expenses);
Run Code Online (Sandbox Code Playgroud)
这是item.name
用作格式字符串,不包括{0}
,{1}
或者{2}
,所以剩下的参数实际上是无用的.试试这个,它指定一个格式字符串,然后填写要填写的值:
Console.WriteLine("{0} {1} {2} {3}",
item.name, item.employeeid, item.income, item.expenses);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3572 次 |
最近记录: |