在Windows Phone 7中LINQ到文本文件

在Windows Phone 7中LINQ到文本文件,linq,windows-phone-7,windows-phone-7.1,Linq,Windows Phone 7,Windows Phone 7.1,是否可以在wp7中使用linq读取文本文件。我的要求是,我需要阅读下面给定的文本文件内容,并形成一个列表,如何在windows phone中实现这一点。我的文本文件的格式是 Game::Cricket::England::Pakistan Game::Football::England::France Game::Cricket::Pakistan::Australia 如果在wp7中不能使用Linq转换为文本文件。那就给我一个不同的选择。基于我的文本格式的答案是非常值得欣赏的您始终

是否可以在wp7中使用linq读取文本文件。我的要求是,我需要阅读下面给定的文本文件内容,并形成一个列表,如何在windows phone中实现这一点。我的文本文件的格式是

Game::Cricket::England::Pakistan  
Game::Football::England::France  
Game::Cricket::Pakistan::Australia 

如果在wp7中不能使用Linq转换为文本文件。那就给我一个不同的选择。基于我的文本格式的答案是非常值得欣赏的

您始终可以将文件作为文本加载,并将其拆分到“:”


您始终可以将文件作为文本加载,并将其拆分到“:”


不,没有对Linq在.NET(桌面或电话)中的文本的内置支持。但是,有一个非常棒的Linq到CSV库无代码项目:


这几乎肯定会对WP7起作用。您可以指定分隔符,因此它应该与双冒号一起使用。

否,在.NET(桌面或电话)中没有对Linq文本的内置支持。但是,有一个非常棒的Linq到CSV库无代码项目:


这几乎肯定会对WP7起作用。您可以指定分隔符,因此它应该与双冒号一起使用。

我建议使用以下方法

创建用于保存GameDetail对象的类,并定义一个接受字符串参数的构造函数。这个构造函数可以解析每一行

public class GameDetail
{
    public string Type { get; set; }
    public string Team1 { get; set; }
    public string Team2 { get; set; }

    public GameDetail(string input)
    {
        var parts = input.Split(new string[] { "::" }, StringSplitOptions.None);
        if(parts.Length != 4) throw new ArgumentException("Invalid input string");
        Type = parts[1];
        Team1 = parts[2];
        Team2 = parts[3];
    }
}
创建一个reader方法来读取文件的每一行,并将其添加到GameDetails集合中

List<GameDetail>ReadFile(string filename)
{
    var stream = File.OpenRead(filename);
    var allData = new List<GameDetail>();
    using (StreamReader reader = new StreamReader(stream))
    {
        string line;
        while (( line = reader.ReadLine()) != null)
        {
            allData.Add(new GameDetail(line));
        }
    }
    return allData;
}
ListReadFile(字符串文件名)
{
var stream=File.OpenRead(文件名);
var allData=新列表();
使用(StreamReader=新StreamReader(stream))
{
弦线;
而((line=reader.ReadLine())!=null)
{
添加(新游戏详细信息(行));
}
}
返回所有数据;
}

注意-未经测试…我建议以下方法

创建用于保存GameDetail对象的类,并定义一个接受字符串参数的构造函数。这个构造函数可以解析每一行

public class GameDetail
{
    public string Type { get; set; }
    public string Team1 { get; set; }
    public string Team2 { get; set; }

    public GameDetail(string input)
    {
        var parts = input.Split(new string[] { "::" }, StringSplitOptions.None);
        if(parts.Length != 4) throw new ArgumentException("Invalid input string");
        Type = parts[1];
        Team1 = parts[2];
        Team2 = parts[3];
    }
}
创建一个reader方法来读取文件的每一行,并将其添加到GameDetails集合中

List<GameDetail>ReadFile(string filename)
{
    var stream = File.OpenRead(filename);
    var allData = new List<GameDetail>();
    using (StreamReader reader = new StreamReader(stream))
    {
        string line;
        while (( line = reader.ReadLine()) != null)
        {
            allData.Add(new GameDetail(line));
        }
    }
    return allData;
}
ListReadFile(字符串文件名)
{
var stream=File.OpenRead(文件名);
var allData=新列表();
使用(StreamReader=新StreamReader(stream))
{
弦线;
而((line=reader.ReadLine())!=null)
{
添加(新游戏详细信息(行));
}
}
返回所有数据;
}

注意-未测试…

是否存在任何其他方法来解析文本文件。由于版权问题,目前我无法使用任何第三方库。这违反了我们公司的规定。请自己阅读并分析。。或者只需查看该项目的源代码,然后创建类似的内容;-)我会发布一个答案,但那也会是第三方来源,并且仍然会有“版权问题”。如果有其他方法来解析文本文件的话。由于版权问题,目前我无法使用任何第三方库。这违反了我们公司的规定。请自己阅读并分析。。或者只需查看该项目的源代码,然后创建类似的内容;-)我会发布一个答案,但那也会是第三方来源,而且仍然会有“版权问题”