【发布时间】:2014-02-13 16:36:30
【问题描述】:
终于开始学习 LINQ。我想将字符串转换为对象。我知道还有其他方法,但我想看看它是如何使用 LINQ 完成的。这是我想出的最好方法:
using System;
using System.Linq;
public class Program
{
public static void Main()
{
string [] lines = new string[2];
lines[0] = "John, 12345, true";
lines[1] = "Miles, 45678, true";
var o = from x in lines
select new {
name = x.Split(',')[0],
zip = Int32.Parse(x.Split(',')[1]),
status = bool.Parse(x.Split(',')[2])
};
foreach (var p in o) {
Console.WriteLine(p.name + " - " + p.zip + ", - " + p.status);
}
}
}
我的问题是:有没有更好的方法不使用所有Split()s?这是一个小提琴:http://dotnetfiddle.net/RSY48R。
【问题讨论】:
-
你可能想看看 LinqToCSV 项目,github.com/mperdeck/LINQtoCSV
-
这感觉有点像codereview.stackexchange.com问题
-
这个问题似乎离题了,因为代码正在运行,它只是要求进行一般的代码审查。
-
很公平。以后我会使用codereview。
标签: c# linq csv linq-to-objects